java – Maven Spring Boot多模块
发布时间:2020-12-15 02:10:26 所属栏目:Java 来源:网络整理
导读:我正在尝试将Maven配置为使用具有多个模块的 Spring Boot.我是Maven和Spring Boot Stuff的新手,我不确定它是如何协同工作的.所以我开始创建一个简单的结构.一开始我想从一个模块开始. myApp||--web module|----java|------controller|------Application.java
我正在尝试将Maven配置为使用具有多个模块的
Spring Boot.我是Maven和Spring Boot Stuff的新手,我不确定它是如何协同工作的.所以我开始创建一个简单的结构.一开始我想从一个模块开始.
myApp | |--web module |----java |------controller |------Application.java (Main Methode) |----resources |------templates |--------index.html |------application.propperties |------log4j2.json |----webapp |----pom.xml |--pom.xml 这是我的父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"> <modelVersion>4.0.0</modelVersion> <groupId>net.benteler.apps.saplication</groupId> <artifactId>saplication</artifactId> <version>0.0.1-SNAPSHOT</version> <modules> <module>web</module> </modules> <packaging>pom</packaging> <name>saplication</name> <description>Shows SAP Reports</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.7</java.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-c3p0</artifactId> <version>5.0.1.Final</version> </dependency> <!-- Database Driver--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> <version>5.1.36</version> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc</artifactId> <version>6</version> </dependency> <!-- JSON handling--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.6.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.6.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.6.2</version> </dependency> </dependencies> </dependencyManagement> <build> <finalName>saplication-snapshot</finalName> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> 这里是我的主要模块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>saplication</artifactId> <groupId>net.benteler.apps.saplication</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>web</artifactId> <dependencies> <!-- Spring Boot --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- Spring Boot Logging with Log4J--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> <!-- Data handling --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <exclusions> <exclusion> <groupId>xml-apis</groupId> <artifactId>xml-apis</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-c3p0</artifactId> </dependency> <!-- Database Driver--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc</artifactId> </dependency> <!-- Unit testing --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <!-- JSON handling--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> </dependency> <!-- Templating - deliver JSP--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> </dependencies> <build> <finalName>saplication-snapshot</finalName> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> 我添加了我的application.propperties spring.view.prefix = /templates/ spring.view.suffix = .html 我的Application.java看起来像这样: @SpringBootApplication public class Application { public static void main(String[] args) { System.out.println("Hallo"); SpringApplication.run(SaplicationApplication.class,args); } } 我的控制器 @Controller public class MainController { private static final Logger logger = LogManager.getLogger(MainController.class.getName()); @RequestMapping("/test") public String index(ModelAndView modelAndView) { logger.info("/test"); logger.debug("Hello world - debug log"); logger.info("Hello world - info log"); logger.warn("Hello world - warn log"); logger.error("Hello world - error log"); return "index"; } } 当我启动应用程序时,映射正在运行 Mapped "{[/test]}" onto public java.lang.String saplication.controller.MainController.index(org.springframework.web.servlet.ModelAndView) 并显示日志消息 [INFO ] 2015-10-06 08:41:37.477 [http-nio-8080-exec-1] MainController - /test [INFO ] 2015-10-06 08:41:37.478 [http-nio-8080-exec-1] MainController - Hello world - info log [WARN ] 2015-10-06 08:41:37.478 [http-nio-8080-exec-1] MainController - Hello world - warn log [ERROR] 2015-10-06 08:41:37.478 [http-nio-8080-exec-1] MainController - Hello world - error log 但是当我输入http://localhost:8080/test时,我只看到了消息 Whitelabel Error Page This application has no explicit mapping for /error,so you are seeing this as a fallback. Tue Oct 06 08:41:37 CEST 2015 There was an unexpected error (type=Not Found,status=404). No message available 在第一个视图上似乎一切正常但我遇到的问题是Spring没有找到我的index.html模板. 我只是不知道我的配置有什么问题!所以我需要你的帮助. 解决方法
将您的资源放在Web模块中的src / main / resources文件夹中.这是资源的默认Maven结构.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |