我处于应用程序发布的最后一步,因此创建了jar
,称为App.jar
。我有App.jar
依赖的其他罐子,所以我宁愿把它包含在App.jar
中。尝试运行时,如果将App.jar
放入主项目的文件夹中,则可以正常运行。但是,当放在它外面时(例如在dekstop上),它不能完全工作,这意味着某些GUi组件没有显示。我的问题是:
除了我的App.jar所依赖的其他jar之外,是否可以依赖于其他一些文件或其他条件?
编辑:
我在Eclipse工作,构建jar我刚刚导出它并选择了“将所需的库打包到生成的JAR中”选项,它将我需要运行的所有jar放入App.jar。我的MANIFEST.MF看起来像这样:
Manifest-Version: 1.0
Rsrc-Class-Path: ./ JTattoo.jar plugin.jar docking-frames-common-1.1.1
-SNAPSHOT.jar jl1.0.jar swt-3.7M5-win32-win32-x86.jar worldwind.jar a
ccess-bridge.jar sunpkcs11.jar looks-2.0.1.jar tools.jar OfficeLnFs_2
.7.jar jce.jar jna_WindowUtils.jar dom4j-2.0.0-ALPHA-2.jar junit-4.5.
jar rt.jar mysql-connector-java-5.1.21-bin.jar sunmscapi.jar glasslib
.jar resources.jar jxl.jar dnsns.jar sunec.jar jogl.jar mp3spi1.9.4.j
ar docking-frames-core-1.1.1-SNAPSHOT.jar DJNativeSwing.jar tritonus_
share.jar dom4j-2.0.0-ALPHA-2-sources.jar zipfs.jar MozillaInterfaces
-1.8.1.3.jar jfr.jar DJNativeSwing-SWT.jar gluegen-rt.jar jaxen-1.1.1
.jar gdal.jar localedata.jar jna-3.2.4.jar charsets.jar sunjce_provid
er.jar jsse.jar jaccess.jar
Class-Path: .
Rsrc-Main-Class: org.cnstar.wiki.app.GreatPlaces
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
SplashScreen-Image: images/splash_screen.png
答案 0 :(得分:1)
您应该正确设置类路径以包含所需的所有jar。
是的,由于传递依赖性,可能会有更多的jar依赖。你的App.jar可能依赖于jar,它可能依赖于另一个jar。使用Maven,您可以远离所有这些担忧,因为它会自动下载所有依赖项。