&引用;找不到符号“;maven中的错误
我看到很多关于stackoverflow的问题。但我仍然不知道我在建设项目的过程中遇到了什么问题 我有两个springboot项目:wedata和weweb。我们的网络依赖于我们的数据。我们的数据在maven上编译得很好。但我们网络给了我以上的错误 我们数据pom:&引用;找不到符号“;maven中的错误,maven,spring-boot,maven-plugin,spring-boot-maven-plugin,Maven,Spring Boot,Maven Plugin,Spring Boot Maven Plugin,我看到很多关于stackoverflow的问题。但我仍然不知道我在建设项目的过程中遇到了什么问题 我有两个springboot项目:wedata和weweb。我们的网络依赖于我们的数据。我们的数据在maven上编译得很好。但我们网络给了我以上的错误 我们数据pom: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/
<?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.we</groupId>
<artifactId>data</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>we-data</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.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-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
STS正在使用1.8JDK。而且我还没有将we数据项目放在we web的构建路径上。我想让它通过,因为我想引发一场这样的战争。请帮忙。我在we数据上进行“干净编译包安装”,然后在we网络上进行。“更新maven项目”也帮不了我
每次我在WEBI上执行maven“clean compile package安装”目标时
获取maven错误。未找到此投诉的所有符号
都在我们的数据项目中
1) 我认为您应该阅读有关Maven pom和的介绍。对于编译和包阶段是多余的,因为安装阶段包括这些阶段(。 因此,只需这样做:
mvn clean install
2) 运行maven目标的web模块需要com.we:data:0.0.1-SNAPSHOT
与实际代码的依赖关系:
<dependency>
<groupId>com.we</groupId>
<artifactId>data</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
com.we
它聚合了这些模块。我也被困在这个问题上一天了,终于在这里找到了根本原因和解决方案我所做的:
如果您的pom上有以下行(您的案例是we数据的pom)
它就像一个符咒。在pom.xml中,添加dependency
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
javax.inject
javax.inject
1.
和使用@Inject Import javax.Inject.InjectImport javax.Inject.Inject的类 在Spring Boot应用程序中,我在一个ServiceFoo.java
文件中有以下服务和附带的非公共类:
@Service
public class ServiceFoo {
}
class Foo { }
class Bar { }
在某个时刻,Maven开始失败,出现了找不到符号:class Service
只有在将类Foo和Bar移动到单独的java文件中(分别是Foo.java
和Bar.java
之后,错误才消失。看起来像Maven(3.5.2和3.6.3)或Java(1.8.0_201)bug 我遇到了同样的错误“找不到符号”
我前后有2个maven模块,尽管存在依赖关系,但前模块无法访问后模块
问题出在后面模块中的pom.xml上。我删除这些行:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
org.springframework.boot
springbootmaven插件
我刚刚在前面的pom模块中找到了这些行。看起来包不匹配-请更正导入并解决此com.we.service不存在的问题。
。希望这能解决问题build@ClementAmarnath:不,包裹的导入没有问题。如果是这样的话,我就不应该让we网络运行了。但它运行良好。我只有在执行maven构建时才会得到错误。我在两个项目中都有相同的包结构。那会引起什么问题吗?更新了问题。在这种情况下,请尝试删除我们数据的.m2,生成我们数据
,然后我们网络
不创建2个spring启动项目。您不应该将一个springboot项目包含到另一个springboot项目中。这个jar不是一个普通的jar,因此无法找到资源(尽管在1.4版本之前,您仍然不应该这样做)。让我们的数据成为一个普通的jar,而不是一个spring引导jar。如果它们都是独立的项目,那么一开始就不应该依赖另一个。我一直在先构建we数据,然后构建we网络。但是现在,我正在进行“mvn清理安装”而不是“mvn清理编译包安装”(谢谢)。那不行。我想按照你的建议创建多模块项目。但我不知道如何创建多模块“SpringBoot”项目(也是SpringBootMaven模块(如果我听起来很愚蠢,请原谅))。如果您能在这方面帮助我,请告诉我,否则我应该就stackoverflow提出一个新问题。欢迎您。“这不起作用。”拥有一个多模块项目不会在编译时解决缺少的类。它只允许在所有命令完成后拥有一个更健壮的构建。你能详细说明你的错误,编辑你的帖子并显示所有相关信息吗(例如缺少类的包)?为我工作。。默认情况下,Spring引导jar依赖项不起作用。添加配置分类器exec
也为我修复了它。它在构建时输出两个独立的jar:一个普通jarapp.jar
(与不使用此插件构建时的情况相同),另一个新jar用于胖jarapp exec.jar
。根据你的解释,胖罐子不被认为是一个普通的罐子,我猜需要有原来的罐子来修复它。干杯
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>exec</classifier>
</configuration>
</execution>
</executions>
</plugin>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
@Service
public class ServiceFoo {
}
class Foo { }
class Bar { }
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>