【Java】maven多module打包 编译报错(找不到包)

我有一个多module的maven项目,然后最近想要将其部署到服务器上去,所以想进行打包的操作。但是在打包的过程中遇到了一些问题,在网上也没有找到很好的解决方案,希望大家能够提供一下帮助。
下图是我的maven项目的目录结构:
【Java】maven多module打包 编译报错(找不到包)

然后我的commons这个模块的pom.xml代码文件在这个网页链接里:https://pastebin.com/QaAUq1TF
core的pom.xml: https://pastebin.com/ic095DYS
portal的pom.xml: https://pastebin.com/wrVbPvBG

我的项目中commons是依赖于core的,然后portal是依赖于commons的。

我一开始是先打包core,是成功执行的,也在target目录下生成了一个jar包。
【Java】maven多module打包 编译报错(找不到包)

但是当我接下来要打包commons的时候(我是用命令mvn clean package),突然报错了,说我的一些包不存在,但是我明明在依赖里面有导入包啊。
【Java】maven多module打包 编译报错(找不到包)

【Java】maven多module打包 编译报错(找不到包)

【Java】maven多module打包 编译报错(找不到包)

想请问一下大家有遇到过这种问题吗?以及大家是怎么解决的,谢谢!

回答

已经解决了问题,首先要修改一下pom.xml中的build里面的配置。
然后要把本地的jar包都用maven来进行管理。
贴上我的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>com.qd</groupId>

<artifactId>portal</artifactId>

<version>1.0.0</version>

<packaging>war</packaging>

<name>portal</name>

<description>Intelligence Connect Electric Drill</description>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.5.8.RELEASE</version>

<relativePath/> <!-- lookup parent from repository -->

</parent>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<java.version>1.8</java.version>

</properties>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<!--<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-tomcat</artifactId>

&lt;!&ndash;<scope>provided</scope>&ndash;&gt;

</dependency>-->

<!--<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>-->

<!-- 添加mysql的依赖 -->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<scope>runtime</scope>

</dependency>

<!-- 添加jpa的支持 -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-web</artifactId>

<version>4.3.12.RELEASE</version>

</dependency>

<dependency>

<groupId>com.qd</groupId>

<artifactId>commons</artifactId>

<version>0.0.1-SNAPSHOT</version>

</dependency>

<dependency>

<groupId>net.minidev</groupId>

<artifactId>json-smart</artifactId>

<version>2.2.1</version>

</dependency>

<dependency>

<groupId>com.aliyun.oss</groupId>

<artifactId>aliyun-sdk-oss</artifactId>

<version>2.8.2</version>

</dependency>

<dependency>

<groupId>com.google.code.gson</groupId>

<artifactId>gson</artifactId>

<version>2.8.2</version>

</dependency>

<!-- 尝试加一下core依赖 -->

<dependency>

<groupId>com.qd</groupId>

<artifactId>core</artifactId>

<version>1.0.0</version>

</dependency>

<!-- 把他们都改成maven引入,1-16 -->

<dependency>

<groupId>com.aliyun</groupId>

<artifactId>aliyun-java-sdk-core</artifactId>

<version>3.2.3</version>

</dependency>

<dependency>

<groupId>com.aliyun</groupId>

<artifactId>aliyun-java-sdk-dysmsapi</artifactId>

<version>1.0.0</version>

</dependency>

<dependency>

<groupId>net.sf.json-lib</groupId>

<artifactId>json-lib</artifactId>

<version>2.4</version>

<classifier>jdk15</classifier>

</dependency>

<!-- Mqtt -->

<dependency>

<groupId>org.eclipse.paho</groupId>

<artifactId>org.eclipse.paho.client.mqttv3</artifactId>

<version>1.1.0</version>

</dependency>

</dependencies>

<build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>3.1</version>

<configuration>

<source>1.7</source>

<target>1.7</target>

</configuration>

</plugin>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

</project>

这里有解决方案:http://hbxflihua.iteye.com/bl...

我碰到跟你一样的问题 你找到解决方案了嘛?

我碰到跟你一样的问题 搞了一天了 还没解决 网上找了很多方法 都不行,求大神们赐教!

我把target目录都删掉在从新编译就好了。

我也遇到一样的问题,在父pom打包即可。

以上是 【Java】maven多module打包 编译报错(找不到包) 的全部内容, 来源链接: utcz.com/a/89516.html

回到顶部