请问当工程里有多个类都含有main方法,怎么打包?
最近搞打包一头雾水,有几个问题
1.是不是manifest里的Main-Class只能有一个?
2.如果1的答案是Yes,那么如何通过Jar文件去调用其他的类?Classpath怎么写?
3.如果1的答案是Yes,请问如果用Ant生成jar文件,怎么把其他Main方法声明出来?
3.请问如果打包时需要Manifest,是怎么写命令法?
4.如果吧lib的jar包放在外部,是不是写 jar -cf的时候,lib的jar文件必须就位?如果当时还没生成,怎么办?
全分附上,抱歉只有这么多了
请大家指点,谢谢
------解决方案--------------------
1.是
2.java -classpath "jar引用路径" 主函数入口
3.不解?? main只有一个起作用
4.google之
5.jar加载路径的文件,存在的话会加载,不存在会被忽略
------解决方案--------------------打包成jar文件,需要指定一个入口类,即主main程序,只能有一个。
这个主main程序需要写全路径名,按着这个类路径,肯定只能找到一个入口启动这个程序。
------解决方案--------------------java -jar a.jar com/..../ClassName
------解决方案--------------------一个应用程序一个入口。
既然楼主现在有多个“入口”那是否是表示就有多个应用程序呢。
如果只有一个应用程序设计成了多个入口,那么应该只有一个入口是可用的有效的。
否则那这设计就有问题。
------解决方案--------------------打包的时候外部jar是不会被一起打包的。
可以有2种解决办法:
1:使用命令导入外部jar
java -jar -Djava.ext.dirs=外部jar路径 需要运行的jar
比如我们将Lib目录与我们的test.jar放入同级目录中。那么
java -jar -Djava.ext.dirs=lib test.jar
2:使用build fat jar 打包,这样外部Jar就会被打包好了。就可以直接用jar -jar test.jar来运行了。
至于build fat jar 请看这里...http://hi.baidu.com/tedzhangzhe/blog/item/0d10a23860bce83596ddd877.html