【发布时间】:2019-02-14 04:57:32
【问题描述】:
我有一个 Java 中的 Spring Boot Web 应用程序,它使用 Angular/React 等前端库/框架。假设我的网络应用 URL 是 http://localhost:8080/xyz。我需要创建一个可执行文件(与平台无关),当我点击它时,它应该在浏览器窗口中打开我的网络应用程序,并且应用程序应该启动。有人可以告诉我如何实现这一目标。
编辑: 我只想在我的桌面上点击一些东西,点击它会运行应用程序,然后它会打开浏览器窗口,该窗口将加载网络应用程序的 url,用户可以像普通的网络应用一样点击/做其余的事情。所以可点击的图标应该作为桌面应用运行,但功能是运行 Java 网络应用并在浏览器中打开它。
在此处添加 pom.xml,我在我的应用程序中使用了它。
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>proman</artifactId>
<groupId>com.upgrad.proman</groupId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>proman-api</artifactId>
<dependencies>
<dependency>
<groupId>com.upgrad.proman</groupId>
<artifactId>proman-service</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.18</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.4.0</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<output>${project.build.directory}/generated-sources</output>
<language>spring</language>
<library>spring-boot</library>
<generateApis>false</generateApis>
<generateModels>true</generateModels>
<modelPackage>com.upgrad.proman.api.model</modelPackage>
<configOptions>
<java8>true</java8>
<sourceFolder>.</sourceFolder>
<dateLibrary>java8</dateLibrary>
</configOptions>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.18</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-generators</artifactId>
<version>1.0.0-rc0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>signup</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/endpoints/signup.json</inputSpec>
<language>spring</language>
</configuration>
</execution>
<execution>
<id>useradmin</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/endpoints/useradmin.json</inputSpec>
<language>spring</language>
</configuration>
</execution>
<execution>
<id>authentication</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/endpoints/authentication.json</inputSpec>
<language>spring</language>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
【问题讨论】:
-
构建您的 spring-boot 应用程序,然后您可以通过执行 "java -jar
" 在任何环境中运行 jar -
所以,你的意思是,如果我执行“java -jar
”,那么它将创建一个可执行文件。你也可以告诉我是否需要修改我的 pom.xml 文件来实现这一点。 -
我不明白谁以及为什么不赞成这个问题。
-
“我需要创建一个可执行文件(平台无关)”,这个可执行文件是输出 jar :-)
标签: java spring-boot desktop-application