Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse 泽西岛+;昂首阔步+;大摇大摆的用户界面&x2B;Maven配置_Eclipse_Maven_Jersey_Swagger_Swagger Ui - Fatal编程技术网

Eclipse 泽西岛+;昂首阔步+;大摇大摆的用户界面&x2B;Maven配置

Eclipse 泽西岛+;昂首阔步+;大摇大摆的用户界面&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的目的 我想将

我第一次尝试在泽西和马文身上大摇大摆,我想知道我是否走上了正确的道路。我让jersey、maven和swagger在本地计算机上工作。很快,我想将其部署到不同的环境中,并包括swagger ui

  • 如果我将web.xml文件配置为
    http://localhost:8080/api
    然后我看到这个招摇器在我的本地计算机上工作。但是,每当我想将代码部署到不同的环境(例如从开发环境到QA环境,再到生产环境)时,我是否需要更改此地址?如果是,我将如何进行更改,或者是否不可能/不是swagger的目的

  • 我想将swagger ui与我的项目结合起来。我在网上看到了从git手动下载文件并将其放在我的项目中的建议。但我想知道的是,是否有一个maven依赖项,我可以使用它来替代它,这样我就可以使用maven获得必要的代码来使用swagger ui,并将其配置为与jersey一起工作。如果是的话,依赖关系是什么?如何使用它在多个环境中部署代码

  • 如果可能的话,请提供指导和教程链接,因为我是这项技术的新手。另外,如果我在使用jersey/swagger/swagger ui/maven的思考过程中,没有从git手动下载代码,也没有能够在多个环境中部署代码,请告诉我,这样我就可以在我的应用程序中寻找另一种使用REST的方法

    谢谢你的帮助

    pom.xml:

        <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
    
    以下是我认为可以回答您问题的内容:

  • 为了能够根据不同的环境配置swagger,您可以执行以下步骤:

    i) 创建一个引导类来配置swagger bean(ref:and)

    ii)使用属性文件中的值设置上述bean中的值,您可以在任何环境中轻松地在代码外部进行配置

  • Swagger dist由html/css/image/js文件组成。它不能作为Maven jar依赖项添加


  • 希望这有帮助

    这里是一个使用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