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