有什么更好的方法将外部jar包含在applet使用的签名jar中?

时间:2013-12-19 02:39:15

标签: eclipse applet signed-applet

我有一个使用多个外部库的applet。该项目需要小程序JAR签名,因为我执行磁盘操作。另一个要求是所有的库都包含在applet jar中。我第一次尝试这种方法是将所有库的JAR包含在Eclipse项目的本地目录中,并将它们包含在Eclipse项目中。之后,我将整个项目导出为不可执行的JAR,从而运行大多数库。但是仍然没有引用一些库,我无法通过applet完全运行我的应用程序。有没有更合适的方法在签名的applet JAR中使用lib?

1 个答案:

答案 0 :(得分:0)

如果您正在使用maven,那么您可以提取所需的所有类。 maven插件将为您完成此操作。如果你有一个jks文件,它也可以签名。这是maven的一些设置。

<plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>attached</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>sign</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <keystore>${basedir}/the jks.jks</keystore>
                <alias>the alias</alias>
                <storepass>the store pass</storepass>
                <signedjar>${project.build.directory}/signed/${project.build.finalName}.jar</signedjar>
             <verify>true</verify>

               <jarPath>${project.build.directory}/${project.build.finalName}-jar-with-dependencies.${project.packaging}</jarPath>
        </configuration>
              </plugin>
    </plugins>