javac编译问题

来源:互联网 发布:mysql text使用 编辑:程序博客网 时间:2024/04/30 19:48

从下午开始编译相关联的两个类,一直报错找不到另一个类,千辛万苦终于找到问题原因,写下此篇记载。


public class A {

private B;

...

}


public class B{

...

}

目录结构:

$HOME/myweb/src/A.java

$HOME/myweb/src/B.java (源码目录)

$HOME/myweb/WEB-INF/classes(编译后文件目录)

$HOME/myweb/WEB-INF/lib/commons-fileupload-1.3.1.jar(引用外部jar包)

其中A类使用B类作静态变量。


编译顺序:

javac  -classpath $TOMCAT_HOME/lib/servlet-api.jar -d $HOME/myweb/WEB-INF/classes $HOME/myweb/src/B.java (成功)

        javac  -classpath $TOMCAT_HOME/lib/servlet-api.jar -d $HOME/myweb/WEB-INF/classes $HOME/myweb/src/A.java (报错找不到B类)

引用servlet-api.jar包因为我刚开始学些写web应用程序。B类顺利编译成功,但是使用此方式编译A类一直不成功,百思不得其解。

终于找到问题所在,修改编译方式:

javac -classpath $HOME/myweb/WEB-INF/classes:$TOMCAT_HOME/lib/servlet-api.jar -d $HOME/myweb/WEB-INF/classes $HOME/myweb/src/A.java 

编译成功!


引用外部jar包,修改为:

javac -classpath $HOME/myweb/WEB-INF/classes: $HOME/myweb/WEB-INF/lib:$TOMCAT_HOME/lib/servlet-api.jar -d $HOME/myweb/WEB-INF/classes $HOME/myweb/src/A.java(报错找不到jar包)

再修改:

javac -classpath $HOME/myweb/WEB-INF/classes:$HOME/myweb/WEB-INF/lib/commons-fileupload-1.3.1.jar:$TOMCAT_HOME/lib/servlet-api.jar -d $HOME/myweb/WEB-INF/classes $HOME/myweb/src/A.java成功)


0 0
原创粉丝点击