赞
踩
maven-compiler-plugin和spring-boot-maven-plugin 这俩个插件是我们微服务打包常用到的
1,每个模块配置了spring-boot-maven-plugin 打出来的包都是独立的,即使你clean install 都一样。
2,idea工具有时候打包会出问题,最好的解决办法是通过命令去编译项目打包。
3,启动的项目配置打包。比如我们有三个maven模块:parent,service,server。其中server是一个可以启动的springboot项目,其他模块都是作为jar包引入到server模块中使用的,这时候,我们只能在server模块中引入spring-boot-maven-plugin插件,将api项目打成可执行jar。其余项目都只使用maven-compiler-plugin。这样找不到类的问题就解决了。
-
- <!--构建-->
- <profiles>
- <profile>
- <id>local</id>
- <properties>
- <profiles.active>local</profiles.active>
- </properties>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- </profile>
- <profile>
- <id>dev</id>
- <properties>
- <profiles.active>dev</profiles.active>
- </properties>
- </profile>
- <profile>
- <id>test</id>
- <properties>
- <profiles.active>test</profiles.active>
- </properties>
- </profile>
- <profile>
- <id>uat</id>
- <properties>
- <profiles.active>uat</profiles.active>
- </properties>
- </profile>
- <profile>
- <id>prod</id>
- <properties>
- <profiles.active>prod</profiles.active>
- </properties>
- </profile>
- </profiles>
- <build>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <includes>
- <include>**/*.xml</include>
- <include>**/*.tld</include>
- <include>**/*.html</include>
- <include>**/*.yml</include>
- <include>**/*.xlsx</include>
- </includes>
- <filtering>true</filtering>
- </resource>
- <resource>
- <directory>src/main/resources</directory>
- <includes>
- <include>config/*.properties</include>
- <include>config/*.yml</include>
- </includes>
- <filtering>true</filtering>
- </resource>
- <resource>
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.properties</include>
- <include>**/*.yml</include>
- <include>**/*.xml</include>
- <include>**/*.tld</include>
- <include>**/*.xlsx</include>
- </includes>
- <filtering>false</filtering>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <configuration>
- <executable>true</executable>
- <finalName>${project.artifactId}</finalName>
- </configuration>
- </plugin>
- </plugins>
- </build>
父依赖:
4,最好使用mvn 命令打包编译。以下是问题汇总。
- ## 编译项目
- mvn -X -DskipTests=true compile
-
- ## 编译项目并且打包 切入到项目最外面
- mvn clean install package -Dmaven.test.skip=true
java -jar启动nacos 报
nacos报错: java.nio.charset.MalformedInputException: Input length = 1
原因是nacos的yml编码和项目不一致,导致其他问题。
解决办法:
java -jar -Dfile.encoding=utf-8 xxx.jar
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。