Ствараючы праграмму на javafx для вэб выкарыстоўваецца так званы JNLP (Java Network Launch Protocol). Аднак пры выкарыстанні JNLP сутыкаемся з адной праблемай: усе джаркі павінны быць падпісаны. Вось варыянт як гэта зрабіць у maven2-праекце:
1. Першапачаткова патрэбна сгенерыраваць файл-ключ. Гэта зробім з дапамогай плагіну keytool-maven-plugin.
Адзін экзэкьюшн робіць ачышчэнне файла-ключа на стадыі падрыхтойкі праекту да сборкі, другі генерыруе ізноў
2. Падпісванне джарак
1. Першапачаткова патрэбна сгенерыраваць файл-ключ. Гэта зробім з дапамогай плагіну keytool-maven-plugin.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>keytool-maven-plugin</artifactId>
<executions>
<execution>
<id>generatekey</id>
<phase>process-resources</phase>
<goals>
<goal>genkey</goal>
</goals>
</execution>
<execution>
<id>cleaning</id>
<phase>validate</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
<configuration>
<keystore>${project.build.directory}/keystore</keystore>
<alias>myalias</alias>
<dname>cn=www.example.com, ou=None, L=Seattle, ST=Washington, o=ExampleOrg, c=US</dname>
<keypass>m2m2m2</keypass>
<storepass>m2m2m2</storepass>
</configuration>
</plugin>
Адзін экзэкьюшн робіць ачышчэнне файла-ключа на стадыі падрыхтойкі праекту да сборкі, другі генерыруе ізноў
2. Падпісванне джарак
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>mian_sign</id>
<phase>process-classes</phase>
<goals>
<goal>jar</goal>
<goal>sign</goal>
</goals>
<configuration>
<jarPath>${project.build.directory}/our_app.jar</jarPath>
<signedjar>${project.build.directory}/app/our_app.jar</signedjar>
</configuration>
</execution>
<execution>
<id>depended_jar_sign</id>
<phase>process-classes</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<jarPath>${basedir}/lib/depended_jar.jar</jarPath>
<signedjar>${project.build.directory}/app/depended_jar.jar</signedjar>
</configuration>
</execution>
</executions>
<configuration>
<alias>myalias</alias>
<keystore>keystore</keystore>
<storepass>m2m2m2</storepass>
<verify>true</verify>
</configuration>
</plugin>
Comments