![](/img/trans.png)
[英]Jackson dependency in maven and developing in eclipse with JBoss EAP 6.3/6.4
[英]jboss eap 6.4 in maven access failed
我已经将内置在war软件包中的maven项目部署到Jboss EAP 6.4,并且成功部署了WAR软件包。 我已经创建了服务并在本地Eclipse中使用spring-boot运行,并且可以在浏览器中运行,但是在基于Jboss eap中基于war包访问该URL时遇到问题。 我成功运行了jboss服务,但是无法运行URL。 例如,我使用GET方法使用url:localhost:8080 / letter-printing-eap-generator / testing不能在jboss中运行,但是在部署前在本地Eclipse中运行。 如何解决这个问题? Maven项目中的任何配置XML? 我只是添加了jboss插件。 谢谢。 我的代码:
我的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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.prudential.letter.printing</groupId>
<artifactId>letter-printing-eap-generator</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>LetterPrintingEapGenerator</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>1.2.2.RELEASE</spring-cloud.version>
<swagger.version>2.6.1</swagger.version>
<jboss.home>${env.JBOSS_HOME}</jboss.home>
<config.server>http://10.170.49.103/configserver</config.server>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
<!-- Spring Boot -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>${spring-cloud.version}</version>
</dependency>
<!-- Swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-data-rest</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.5</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- JBOSS maven plugin to simulate deployment to JBOSS -->
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.9.Final</version>
<configuration>
<jbossHome>${jboss.home}</jbossHome>
<serverArgs>
<serverArg>-Dspring.profiles.active=${run.profiles}</serverArg>
<serverArg>-Dspring.cloud.config.uri=${config.server}</serverArg>
</serverArgs>
</configuration>
</plugin>
</plugins>
</build>
</project>
SpringBootRestApiApp.java
@SpringBootApplication(scanBasePackages={"com.prudential.letter.printing"})
@Import({SpringDataRestConfiguration.class})
public class SpringBootRestApiApp {
public static void main(String[] args) {
SpringApplication.run(SpringBootRestApiApp.class, args);
}
}
我的控制器:
@RestController
@RequestMapping(value="/")
public class TestingController {
@GetMapping("testing")
public String getTestingMethod(){
return "Hello Testing";
}
@GetMapping("data")
public Map<String, Object> getData(){
Map<String, Object> map = new HashMap<String, Object>();
map.put("status", "200");
map.put("message", "ini messagenya");
map.put("content", "mantap");
return map;
}
}
这是我的项目结构:
application.yml:
server:
port: 8080
contextPath: /letter-printing-eap-generator
在没有任何特定配置的情况下,JBoss EAP将在名称与WAR文件名匹配的上下文中提供对Web应用程序的访问。
因此,您的应用程序应该可以在以下位置访问:
http://localhost:8080/letter-printing-eap-generator-0.0.1-SNAPSHOT/testing
出于开发目的更改此方法的常用方法是在pom.xml文件中包含finalName
元素:
<build>
<finalName>${project.artifactId}</finalName>
...
</build>
这将生成一个名为letter-printing-eap-generator.war
的WAR文件,并且您尝试的原始URL应该可以使用。
或者,您可以将jboss-web.xml
文件添加到部署中(在WEB-INF目录中),该文件包含context-root
元素:
<jboss-web>
<context-root>letter-printing-eap-generator</context-root>
</jboss-web>
您也可以使用JBoss CLI或Web控制台执行此操作,以执行部署。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.