Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;找不到符号“;maven中的错误_Maven_Spring Boot_Maven Plugin_Spring Boot Maven Plugin - Fatal编程技术网

&引用;找不到符号“;maven中的错误

&引用;找不到符号“;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:/

我看到很多关于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://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.Inject
Import 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:一个普通jar
app.jar
(与不使用此插件构建时的情况相同),另一个新jar用于胖jar
app 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>