加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – JNLP,Webstart和Maven

发布时间:2020-05-24 11:57:36 所属栏目:Java 来源:互联网
导读:我创建了一个简单的Hello World Swing应用程序,它可以在 Eclipse中编译和运行.我现在正在尝试将此应用程序转移到Maven包结构并将其作为Java Web-Start应用程序运行,这让我感到非常痛苦.运行“mvn clean install”后,javaws似乎加载了几秒钟然后退出. 以下是一

我创建了一个简单的Hello World Swing应用程序,它可以在 Eclipse中编译和运行.我现在正在尝试将此应用程序转移到Maven包结构并将其作为Java Web-Start应用程序运行,这让我感到非常痛苦.运行“mvn clean install”后,javaws似乎加载了几秒钟然后退出.

以下是一些可供参考的内容.我(非常简单)的项目应该是完全可重现的:

包结构(来自树):

├── pom.xml
├── readme.txt
├── SwingWebstartMaven-Client
│ ├── pom.xml
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │     └── shaunabram
│ │ │ │         └── swingwebstartmaven
│ │ │ │             ├── HelloWorldSwing.class
│ │ │ │             └── HelloWorldSwing.java
│ │ │ ├── jnlp
│ │ │ │ └── template.vm
│ │ │ └── resources
│ │ └── test
│ └── target
│     ├── classes
│     │ └── com
│     │     └── shaunabram
│     │         └── swingwebstartmaven
│     │             └── HelloWorldSwing.class
│     ├── jnlp
│     │ ├── launch.jnlp
│     │ ├── lib
│     │ │ └── SwingWebstartMaven-Client-1.0.jar
│     │ └── SwingWebstartMavenExample-KeyStore
│     ├── maven-archiver
│     │ └── pom.properties
│     ├── surefire
│     ├── SwingWebstartMaven-Client-1.0.jar
│     └── SwingWebstartMaven-Client-1.0.zip
└── SwingWebstartMaven-Web
    ├── pom.xml
    ├── src
    │ ├── main
    │ │ ├── java
    │ │ ├── resources
    │ │ └── webapp
    │ │     ├── index.html
    │ │     └── WEB-INF
    │ │         └── web.xml
    │ └── test
    └── target
        ├── classes
        ├── maven-archiver
        │ └── pom.properties
        ├── surefire
        ├── SwingWebstartMaven-Web-1.0
        │ ├── index.html
        │ ├── META-INF
        │ └── WEB-INF
        │     ├── classes
        │     └── web.xml
        └── SwingWebstartMaven-Web-1.0.war

主要pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                             http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.shaunabram.swingwebstartmaven</groupId>
    <artifactId>SwingWebstartMaven</artifactId>
    <packaging>pom</packaging>
    <version>1.0</version>
    <name>SwingWebstartMaven Project</name>

    <modules>
        <module>SwingWebstartMaven-Client</module>
        <module>SwingWebstartMaven-Web</module>
    </modules>

    <build>
        <pluginManagement>
            <plugins>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.5</source>
                        <target>1.5</target>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>tomcat-maven-plugin</artifactId>
                    <configuration>
                        <url>http://localhost:8080/manager</url>
                        <username>tomcat</username>
                        <password>tomcat</password>
                    </configuration>
                </plugin>

            </plugins>
        </pluginManagement>
    </build>

</project>

SwingWebstart-Client pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                             http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.shaunabram.swingwebstartmaven</groupId>
        <artifactId>SwingWebstartMaven</artifactId>
        <version>1.0</version>
    </parent>
    <artifactId>SwingWebstartMaven-Client</artifactId>
    <packaging>jar</packaging>
    <name>SwingWebstartMaven Client</name>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo.webstart</groupId>
                <artifactId>webstart-maven-plugin</artifactId>
                <version>1.0-beta-2</version>

                <executions>
                    <execution>
                        <id>package</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jnlp-inline</goal>
                        </goals>
                    </execution>
                </executions>

                <configuration>
                    <jnlp>
                        <outputFile>launch.jnlp</outputFile>
                        <mainClass>com.shaunabram.swingwebstartmaven.HelloWorldSwing</mainClass>
                    </jnlp>

                    <libPath>lib</libPath>

                    <sign>
                        <keystore>SwingWebstartMavenExample-KeyStore</keystore>
                        <keypass>YourPassword</keypass>
                        <storepass>YourPassword</storepass>
                        <alias>SwingWebstartMavenExample</alias>
                        <validity>3650</validity>

                        <dnameCn>Your Name</dnameCn>
                        <dnameOu>Organizational Unit</dnameOu>
                        <dnameO>Organization</dnameO>
                        <dnameL>City or Locality</dnameL>
                        <dnameSt>State or Province</dnameSt>
                        <dnameC>US</dnameC>

                        <verify>true</verify>
                        <keystoreConfig>
                            <delete>true</delete>
                            <gen>true</gen>
                        </keystoreConfig>
                    </sign>

                    <pack200>false</pack200>
                    <gzip>true</gzip>
                    <outputJarVersions>false</outputJarVersions>
                    <verbose>true</verbose>

                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

SwingWebstartMaven-Web pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                             http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.shaunabram.swingwebstartmaven</groupId>
        <artifactId>SwingWebstartMaven</artifactId>
        <version>1.0</version>
    </parent>

    <artifactId>SwingWebstartMaven-Web</artifactId>
    <packaging>war</packaging>
    <name>SwingWebstartMaven Web</name>

    <dependencies>

    </dependencies>

</project>

HelloWorldSwing.java:

package com.shaunabram.swingwebstartmaven;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class HelloWorldSwing {
  public static void main(String[] args) {
    JFrame frame = new JFrame("HelloWorldSwing");
    final JLabel label = new JLabel("Hello World");
    frame.getContentPane().add(label);

    frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
  }
}

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读