Eclipse 泽西岛+;昂首阔步+;大摇大摆的用户界面&x2B;Maven配置
我第一次尝试在泽西和马文身上大摇大摆,我想知道我是否走上了正确的道路。我让jersey、maven和swagger在本地计算机上工作。很快,我想将其部署到不同的环境中,并包括swagger uiEclipse 泽西岛+;昂首阔步+;大摇大摆的用户界面&x2B;Maven配置,eclipse,maven,jersey,swagger,swagger-ui,Eclipse,Maven,Jersey,Swagger,Swagger Ui,我第一次尝试在泽西和马文身上大摇大摆,我想知道我是否走上了正确的道路。我让jersey、maven和swagger在本地计算机上工作。很快,我想将其部署到不同的环境中,并包括swagger ui 如果我将web.xml文件配置为http://localhost:8080/api然后我看到这个招摇器在我的本地计算机上工作。但是,每当我想将代码部署到不同的环境(例如从开发环境到QA环境,再到生产环境)时,我是否需要更改此地址?如果是,我将如何进行更改,或者是否不可能/不是swagger的目的 我想将
http://localhost:8080/api
然后我看到这个招摇器在我的本地计算机上工作。但是,每当我想将代码部署到不同的环境(例如从开发环境到QA环境,再到生产环境)时,我是否需要更改此地址?如果是,我将如何进行更改,或者是否不可能/不是swagger的目的 <repositories>
<repository>
<id>maven2-repository.java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2/</url>
<layout>default</layout>
</repository>
</repositories>
<properties>
<jersey2.version>2.19</jersey2.version>
<jaxrs.version>2.0.1</jaxrs.version>
</properties>
<!-- Dependencies -->
<dependencies>
<!-- JAX-RS -->
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>${jaxrs.version}</version>
</dependency>
<!-- Jersey 2.19 -->
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>${jersey2.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>${jersey2.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey2.version}</version>
</dependency>
<!-- Servlet Library -->
<!-- http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- Spring dependencies -->
<!-- http://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
<!-- Junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jersey2-jaxrs</artifactId>
<version>1.5.0</version>
</dependency>
</dependencies>
maven2-repository.java.net
Maven的Java.net存储库
http://download.java.net/maven/2/
违约
2.19
2.0.1
javax.ws.rs
javax.ws.rs-api
${jaxrs.version}
org.glassfish.jersey.containers
jersey容器servlet
${jersey2.version}
org.glassfish.jersey.core
泽西服务器
${jersey2.version}
org.glassfish.jersey.core
泽西岛客户
${jersey2.version}
javax.servlet
javax.servlet-api
3.1.0
假如
org.springframework
弹簧芯
4.1.4.1发布
org.springframework
弹簧网
4.1.4.1发布
org.springframework
SpringWebMVC
4.1.4.1发布
朱尼特
朱尼特
3.8.1
测试
昂首阔步
大摇大摆的运动衫2-jaxrs
1.5.0
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>HelloWorldSpring</display-name>
<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>
io.swagger.jaxrs.listing,
com.jer.rest
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Jersey2Config</servlet-name>
<servlet-class>io.swagger.jersey.config.JerseyJaxrsConfig</servlet-class>
<init-param>
<param-name>api.version</param-name>
<param-value>1.0.0</param-value>
</init-param>
<init-param>
<param-name>swagger.api.basepath</param-name>
<param-value>http://localhost:8080/HealthTracker/rest</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Other XML Configuration -->
<!-- Load by Spring ContextLoaderListener -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/root-context.xml</param-value>
</context-param>
<!-- Spring ContextLoaderListener -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
HelloWorldSpring
春季mvc
org.springframework.web.servlet.DispatcherServlet
1.
春季mvc
/
泽西塞尔维特酒店
org.glassfish.jersey.servlet.ServletContainer
jersey.config.server.provider.packages
io.swagger.jaxrs.listing,
com.jer.rest
1.
泽西塞尔维特酒店
/休息/*
运动衫2配置
io.swagger.jersey.config.jerseyjaxrconfig
api.0版本
1.0.0
swagger.api.basepath
http://localhost:8080/HealthTracker/rest
2.
上下文配置位置
/WEB-INF/root-context.xml
org.springframework.web.context.ContextLoaderListener
以下是我认为可以回答您问题的内容:
希望这有帮助 这里是一个使用java Doclet的解决方案(不需要夸张的注释)。使用并将配置为。使用它可以管理不同的环境:
<profile>
<id>dev</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<executions>
<execution>
<id>generate-service-docs</id>
<phase>generate-resources</phase>
<configuration>
<doclet>com.carma.swagger.doclet.ServiceDoclet</doclet>
<docletArtifact>
<groupId>com.carma</groupId>
<artifactId>swagger-doclet</artifactId>
<version>1.0.3</version>
</docletArtifact>
<reportOutputDirectory>${project.build.outputDirectory}</reportOutputDirectory>
<useStandardDocletOptions>false</useStandardDocletOptions>
<additionalparam>-apiVersion 1 -docBasePath
https://example.com/apidocs -apiBasePath
https://example.com/api -swaggerUiPath
../../../src/main/resources/swagger-ui/
</additionalparam>
</configuration>
<goals>
<goal>javadoc</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
查看链接
它提供了关于如何在项目中配置Swagger 3.0的优秀示例(请参见java-jersey2-webxml示例)。对于早期版本,请检查分支
就ui而言,您可以下载所需的文件,也可以在pom.xml中添加以下依赖项
<dependency>
<groupId>org.webjars</groupId>
<artifactId>swagger-ui</artifactId>
<version>3.6.1</version>
</dependency>
org.webjars
大摇大摆的用户界面
3.6.1
它将下载必要的ui文件。您可以在项目中复制下载的index.html并编辑url。我也遇到了同样的问题,并创建了一个库,如果包含在Jersey项目中,它将添加swagger 3.0 UI。请看一看,我们的想法是所有的swagger UI静态内容都打包在库中,并在运行时提取。此外,该库将负责为swagger UI创建web上下文,并调整对
openapi.json
文件的引用。您需要向项目中添加2个属性和以下代码:
SwaggerContext.addSwaggerServlet(tomcat, context,
ConfigBuilder.builder(ConfigType.TYPE_SAFE)
.build()
.getConfig("swagger"),
EmailApplication.class);
及物业:
swagger.package="com.itzap"
swagger.apiBaseUrl="http://{application url}"
如果所有其他配置保留为默认值,则可以通过此URL访问swagger UI:
http://{application base URL}/api/v1/swagger
http://{application base URL}/api/v1/swagger