2012-02-03 61 views
0

我参与创建了一个包含大约60个包和150多个类以及一些外部库的项目。我如何将这些东西打包到一个可执行的jar文件中,以便我可以将它作为应用程序运行。任何人都可以提供详细的步骤。如何为包含多个包和库的项目生成可执行文件.jar文件?

感谢提前回复。

+1

有谁即使在提问之前再搜索?这在SO上被多次提及。可能的[依赖关系的可执行JAR]重复(http://stackoverflow.com/questions/3753894/executable-jar-with-depedencies) – Perception 2012-02-03 15:07:26

+0

这可能更相关:[部署所有在一个罐子](http:// stackoverflow.com/questions/2212913/netbeans-deploying-all-in-one-jar)。 – Dmitri 2012-02-03 15:58:02

回答

1

在Eclipse中选择“导出为可运行JAR”。

如果你想把它全部放在一个文件中,选择'将库提取到JAR中'。

+0

感谢加勒特, 现在我能够生成一个可执行的jar文件,它也能正常工作。但我有一个问题。它只在放置在项目的工作区而不在其外部时才起作用。任何想法都会非常棒。 – 2012-02-07 13:03:54

+0

您是否有任何失败讯息?您可以尝试在运行JAR时设置[classpath](http://docs.oracle.com/javase/tutorial/deployment/jar/downman.html),并查看是否修复了这个问题。在这种情况下,您的工作空间中存在不在JAR中的依赖关系。 – 2012-02-07 14:13:44

0

我强烈建议您将其进行初始化。项目描述从长远来看,使用Apache Maven将对您有很大帮助。

0

如果您使用Netbeans,请右键单击您的项目,然后单击Clean and Build。这将在项目的根目录中创建一个名为dist的文件夹。该文件夹包含jar文件。

0

您可以使用Maven来构建你的项目,并生成所有的依赖关系的罐子maven-shade-plugin

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-shade-plugin</artifactId> 
    <version>1.4</version> 
    <executions> 
     <execution> 
      <phase>package</phase> 
      <goals> 
       <goal>shade</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <finalName>my-executable</finalName> 
     <shadedArtifactAttached>true</shadedArtifactAttached> 
     <shadedClassifierName>shaded</shadedClassifierName> 
     <transformers> 
      <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
       <!-- Main class --> 
       <mainClass>com.worklight.my.cli.MainClassName 
       </mainClass> 
      </transformer> 
     </transformers> 
    </configuration> 
</plugin> 
相关问题