??xml version="1.0" encoding="utf-8" standalone="yes"?>
我感觉这个问题的{案?/span>Java的初学者来_会有一定的帮助Q所以将问题和答案整理成文?/span>
首先新徏一个目录存?/span>Java源文Ӟ或者直接在某个盘符下放|程序,例如Q?/span>D:"Q然后按照下面的步骤q行实验Q本实验?/span>D:"目录下操作)?/span>
Step1Q编写程?/span>World.javaQ代码如下:
package a;
public class World
{
public World()
{
System.out.println(", World!");
}
}
Step2Q编?/span>Hello.javaQ代码如下:
import a.World;
public class Hello
{
public static void main(String[] args)
{
System.out.print("Hello");
World world = new World();
}
}
Step3Q将两个E序保存C所建的目录下,在这里,我们它们保存到D:"下?/span>
Step4Q编译这两个Java源文?/span>
先编?/span>World.javaQ执?/span>javac -d . World.javaQ在D盘生成目?/span>aQ及其中?/span>World.class。接下来~译Hello.javaQ执?/span>javac Hello.javaQ在D盘上生成Hello.class?/span>
Step5Q运?/span>Helloc?/span>
执行java HelloQ输?/span>Hello, WorldQ目前一切正常?/span>
Step6Q修?/span>Hello.java
第1行的语句“import a.World;”改ؓ“import a.*Q?#8221;Q重新编?/span>Hello.javaQ出C面的错误提示Q?/span>
错误的类文gQ?/span> ."World.java
文g不包含类 World
请删除该文g或确保该文g位于正确的类路径子目录中?/span>
World world = new World();
^
Step7Q根据错误提C行下列操?/span>
按照错误提示Q删?/span> World.java 或者将 World.java 攑ֈ其他地方Q则E序成功~译q行?/span>
问题Q?/span>
请问Z会出?/span>Step6中的错误呢?使用 “import a.*;”导入a下所有类和接口,和?#8220;import a.WorldQ?#8221;导入a包中具体的类Qؓ何会产生上述的差异呢Q?/span>
当你导入一个包中所有的cLQ?/span>javac在编译时q不定你要使用?/span>WorldcLa包中的类Q还是其他包中的c,它会Ҏ你机器上?/span>CLASSPATH环境变量的值去查找c,通常我们?/span>CLASSPATH中会讄一个点Q?/span>.Q,表示当前目录Q如果没?/span>CLASSPATH环境变量Q那么在JDK1.4之后Q默认也是查扑ֽ前目录?/span>javac在按照文件名Q不包括后缀Q来查找c,于是扑ֈWorld.javaQ而这个文件根本不是字节码文gQ当然就报错了。当你导入一个具体的cLQ?/span>javac在分析源文g时就知道了你E序中用的类?/span>a.WorldQ那么它在CLASSPATH环境变量下查?/span>a目录下的Worldc,正好有,于是正确执行?/span>
Z帮助读者对q个问题加深理解Q我l大家设计了下面的操作步骤(本文是在D盘上操作Q:
Q?/span>1Q将a目录剪切?/span>C:"下;
Q?/span>2Q再ơ执?/span>javac Hello.javaQ你会看到同L错误。也是证实了在出错之前Q?/span>javacq没有去查找a包中的类Q对于包是否存在的验证已l进行)?/span>
Q?/span>3Q执?/span>set classpath=c:"。由于你明确地设|了CLASSPATH环境变量的|q且没有包含点(.Q,因此javac不会再查扑ֽ前的目录?/span>
Q?/span>4Q再ơ执?/span>javac Hello.javaQ你会发现成功执行?/span>
q里面还有一个有的现象Q如果我们将a目录下的World.class删除Q替换ؓWorld.javaQ那么在~译Hello.javaӞWorld也会被自动编译?/span>
Funambol安装q程包括?/span>Java环境安装,Mysql安装,Jboss安装?/span>Funambol DM的安?/span>.一: Java环境安装
1: Java现在使用的版本是:jdk-1_5_0-windows-i586.exe.
2: 安装完毕,请在windowspȝ下设|环境变?/span>JAVA_HOME={jdk的安装目?/span>}
?/span>: JAVA_HOME=C:"Java"jdk1.5.0
?/span>: Mysql安装
1: Mysal使用的版本是: mysql-5.0.22-win32.zip
2: 安装完毕,要进行数据库的创?/span>
3: ?/span>MySQL 中创?/span>funambol Database
q行如下命o?/span>DM Server创徏Database和相关的授权用户funambol
mysql > create database funambol_db;
mysql > grant all on funambol_db.* to 'funambol'@'localhost' identified by 'funambol';
4: 查创建的MySQL funambol 用户权限
q行如下命o查在MySQL中创建的用户funambol是否?/span>funambol _db数据库具备访问权限:
> mysql -u funambol
mysql > use funambol_db;
Database changed
5: 安装创徏完成,可以?/span>Mysql?/span>data目录查看目前创徏的数据库是否存在.
?/span>: Jboss安装
1: Jboss使用版本为:jboss-4.2.1.GA?/span>
下蝲地址Q?/span>
http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=16942&release_id=523619
2: 在如上的下蝲中下蝲JBoss-4.2.1.GA.zip文g?/span>
下蝲完成后,其解压~后卛_完成安装Q解压羃后将其放|到一个不带空格的目录(若目录带有空|例如Q?/span>C:"Program FilesQ日后可能会产生一些莫名的错误)Q?/span>egQ?/span>c:"jboss4.2.1。同时在“环境变量讄”中设|名?/span>JBOSS_HOME的环境变量,gؓJBoss的安装\径,如:
JBOSS_HOME= c:"jboss4.2.1
J2EE_HOME= c:"jboss4.2.1
3: 拯mysql的驱动到jboss目录?/span>,
?/span>mysql?/span>jdbc驱动文gmysql-connector-java-3.1.12-bin.jar拯?/span>c:" JBoss4.2.1"
MySQLJDBC?/span>(如果没有误行创?/span>),q在“环境变量讄”讄
JBOSS_CLASSPATH=c:" JBoss4.2.1"MySQLJDBC"mysql-connector-java-3.1.12-bin.jar
在此Q?/span>JBoss的安装工作已l结束,
5: 修改run.bat文g
?/span>:
rem Add -server to the JVM options, if supported
"%JAVA%" -version 2>&1 | findstr /I hotspot > nul
if not errorlevel == 1 (set JAVA_OPTS=%JAVA_OPTS% -server)
改ؓ
rem Add -server to the JVM options, if supported
rem "%JAVA%" -version 2>&1 | findstr /I hotspot > nul
rem if not errorlevel == 1 (set JAVA_OPTS=%JAVA_OPTS% -server)
4: 试安装是否成功Q?/span>
q行JBoss安装目录"bin"run.batQ如果窗口中没有出现异常Q且出现Q?/span>10:16:19,765 INFO [Server] JBoss (MX MicroKernel) [4.2.1.GA (build: SVNTag=JBoss_4_2_1_GA date=200707131605)] Started in 30s:828ms字样Q则表示安装成功?/span>
5: 讉KJBOSS
我们可以通过讉KQ?/span>http://localhost:8080q入JBoss的欢q界面,点击JBoss Management下的JMX Console可进?/span>JBoss的控制台?/span>
6: 若启动失败,可能׃下原因引P
1Q?/span>JBoss所用的端口Q?/span>8080Q?/span>1099Q?/span>1098Q?/span>8083{)被占用。一般情况下?/span>8080端口被占用(例如Q?/span>Oracle占用?/span>8080端口Q,此时需要修?/span>JBoss的端口,Ҏ?/span>JBoss安装目录"server"default"deploy"jboss-web.deployer目录Q修改其下的server.xml目录Q在此文件中搜烦8080Q将其改成你惌的端口即可(例如8088Q;
2Q?/span>JDK安装不正;
3Q?/span>JBoss下蝲不完全?/span>
?/span>: Funambol DM安装
1: Funambol 使用的版本是: funambol-dm-server-3.5.2
下蝲地址:
http://www.funambol.com/opensource/downloads.html
2: 下蝲Sync4J DM Server后直接解压羃卛_。具体的地址可以?/span>C:"funambol
3: 修改DM ?/span>install.properties中的数据库连接参数?/span>
文g路径?/span>Sync4J DM Server的根目录下,?/span>install.properties。所需修改的内容如下:
server-name=http://{your ip}:8080/funambol/dm
dbms=mysql
jdbc.classpath=C:/jboss-4.2.1/MySQLJDBC/mysql-connector-java-3.1.12-bin.jar
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1/funambol_db?zeroDateTimeBehavior=round
jdbc.user=funambol
jdbc.password=funambol
注意:
A: 如果使用MySQLQƈ?/span>MySQL Server?/span>sync4j DM Server在同一台机器上Q?/span>127.0.0.1q行q接Ӟ~省情况下可以不讄口o?/span>
B: server-name中提供的URL必须填写当前安装?/span>DM Server?/span>Internet合法IP地址Q否则手机终端设备无法发赯接,无法完成DM配置信息的同步?/span>
CQ?/span>MySQL时必设?/span>jdbc.url的参?/span>zeroDateTimeBehavior=roundQ否则在q行DM时将出现如下错误信息Q?/span>
Error Executing Database Query.
Value '0000-00-00' can not be represented as java.sql.Timestamp
详细原因参见Q?/span>http://dev.mysql.com/doc/refman/5.0/en/cj-upgrading.html
4: 修改DM Server?/span>default"config"common"properties" Funambol.properties中的参数, 内容如下Q?/span>
server.uri=http://{your ip}:8080/funambol/dm
?/span>: server.uri中提供的URL必须填写当前安装?/span>DM Server?/span>Internet合法IP地址Q否则手机终端设备无法发赯接,无法完成DM配置信息的同步?/span>
5: q行Sync4j DM Server安装脚本
> cd funambol
> bin"install.cmd jboss32
BUILD SUCCESSFUL
Total time: 12 seconds
6: ?/span>MySQL中数据库表的创徏情况
前面的安装步骤结束后在MySQL Server?/span>funambol_db中创建相关的表,本步骤对其进行检查。方法如下:
> mysql -u funambol
mysql > use funambol_db;
mysql > show tables;
+----------------------------------------+
| Tables_in_sync4jdm_db |
+----------------------------------------+
| fnbl_device |
| fnbl_dm_state |
| fnbl_id |
| fnbl_principal |
| fnbl_role |
| fnbl_treediscovery_processor |
| fnbl_user |
| fnbl_user_dm_demo |
| fnbl_user_role |
+----------------------------------------+
9 rows in set (0.00 sec)
7: 启动Sync4j DM Server
当安装成功后,pȝ会自动在bin目录下生?/span>start.cmd/sh文g.
> cd funambol
> bin"start.cmd
注意: 所有的字符都是大小写敏?/span>,所以上面红色字体一定按照实际情늚大小写进行组l?/span>.