如何制作包含多个类的.jar文件?

时间:2015-12-23 09:32:51

标签: java linux windows jar command-prompt

假设我创建了多个类,并希望将它们组合在一个应该是可移植的.jar文件中。现在当我运行.jar文件时,我的项目的登录面板类文件应首先打开。 出于安全考虑,我希望将来不能将.jar文件提取出来。

3 个答案:

答案 0 :(得分:0)

您可以使用Maven创建一个包含多个类的可执行jar来打包您的类。然后使用MAVEN SHADE PLUGIN设置用作应用程序入口点的主类。

在此处阅读有关maven shade插件的更多信息:[https://maven.apache.org/plugins/maven-shade-plugin/examples/executable-jar.html][1]

答案 1 :(得分:0)

第一个问题: 您可以使用maven-shade-plugin构建可执行jar。只需让您的登录面板类包含您的主要方法即可。 maven-shade-plugin会将你所有的依赖项和你的类文件放在一个jar中并编译它们。

您可以通过“mvn clean package”构建项目 一旦构建,您的jar将在target /

中可用

maven:goal

<build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>`enter code here`
                <version>2.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>your.main.class.file</mainClass>
                                </transformer>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                    <resource>META-INF/spring.handlers</resource>
                                </transformer>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                    <resource>META-INF/spring.schemas</resource>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

对于你的第二个问题: 始终可以提取jar文件。你无法阻止它。

答案 2 :(得分:0)

要创建可执行jar,您需要将所有类放在单个目录中。然后添加manifest.txt文件,其中写有'Main-Class:className',其中类名是入口点(在您的情况下是登录面板类)。然后运行以下命令 jar -cvfm newJar.jar manifest.txt * .class 它将生成newJar.jar

使用java -jar newJar.jar命令运行jar。