可执行jar文件的问题
AntTestPro.jar包中
manifest.mf的内容如下:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.4.2_09-b05 (Sun Microsystems Inc.)
main-class: myant.test.AntTest
Class-Path: C:\eclipse\workspace\AntTestPro\build\lib\log4j.jar
有两个java文件:
package myant.test;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class AntTest {
private static Logger logger = Logger.getLogger(AntTest.class.getName());
/**
* main method
*
* @param args
*/
public static void main(String[] args) {
PropertyConfigurator.configure( "Log4j.properties ");
logger.info( "main method is start. ");
MyPrint mp = new MyPrint();
mp.myPrint();
logger.info( "main method is end. ");
}
}
package myant.test;
import org.apache.log4j.Logger;
public class MyPrint {
private static Logger logger = Logger.getLogger(MyPrint.class.getName());
/**
* myPrint method
*
* <br> This method prints a String.
*
*/
public void myPrint() {
logger.info( "myPrint method is start. ");
System.out.println( "Hi, This is Ant Test! ");
logger.info( "myPrint method is end. ");
}
}
但是用:
jar -jar AntTestPro.jar
命令报错:
C:\eclipse\workspace\AntTestPro> java -jar AntTestPro.jar
Exception in thread "main " java.lang.NoClassDefFoundError: myant/test/AntTest
再线等,谢谢了
[解决办法]
mf文件中去掉classpath,调用的时候附加所需要的类的jar文件到cp 试试
[解决办法]
classpath裏加個.;呢?
[解决办法]
参见
http://danmao.blogdriver.com/danmao/978761.html
在classpath处指定了你要用的jar应该就可以了
------解决方案--------------------
把log4j.jar也加到你的包里
[解决办法]
Class-Path: ./Lib/dom4j-1.6.1.jar ./Lib/mail.jar ./Lib/jemmy.jar ./Lib/activation.jar
我的程序的一个例子,这些jar文件都放在同级的外面目录下,没有和运行的jar打成一个包,你试一下了。注意大小写,包括目录的大小写,在windows下可能大小写不区别,在unix就区别。
[解决办法]
建议楼主用fatjar插件,很好使,不用你担心什么,全帮你搞定
[解决办法]
blog 更新:
think in java 各章后练习答案.....
http://blog.csdn.net/heimaoxiaozi/