gpt4 book ai didi

eclipse - 为什么 WTP 插件将一个 Maven 依赖项部署为一个文件夹,而不是一个 jar?

转载 作者:行者123 更新时间:2023-12-02 11:51:52 25 4
gpt4 key购买 nike

我在使用 Maven 和 Eclipse WTP 时遇到了一个非常奇怪的问题。我有一个多模块项目,我们称之为项目。它由两个模块 project-baseproject-web 组成。我启用了工作区解析(并且它与其他几个非常相似的 Maven 项目配合得很好)。

project-baseproject-web 的依赖项,通常部署为 jar 文件。但几天来,它一直作为类文件夹部署在我的本地 Tomcat 中,如下所示: Dependency deployed as folder, not as jar

因此,我的 Tomcat 无法识别其中的任何类文件,因为它希望它们是 jar,而不是文件夹。-tests 后缀来自于需要在我的网络项目中进行基础测试。我认为这不是问题所在。

project-web 具有从工作区解析的三个依赖项。其中两个已正确部署为 jar,但第三个未正确部署。

project-base 的 pom.xml 如下所示:

<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>
<parent>
<artifactId>project</artifactId>
<groupId>com.company.project</groupId>
<version>4.0.0</version>
</parent>
<artifactId>project-base</artifactId>
<name>projectBase</name>
<packaging>jar</packaging>

<properties>
<project.build.sourceEncoding>windows-1251</project.build.sourceEncoding>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.4</version>
</plugin>
</plugins>
</build>
</project>

project-web 中定义的依赖项 project-base 如下所示:

<dependency>
<groupId>com.company.project</groupId>
<artifactId>project-base</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>com.company.project</groupId>
<artifactId>project-base</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>

我不知道为什么一个依赖项会以如此奇怪的方式部署,而且我也不知道如何解决这个问题。我清理了项目、tomcat、重新部署了 Web 项目、清除了整个 Maven 存储库、从 VCS 中检查了整个项目,但没有任何帮助。

什么会导致 Eclipse WTP 将此依赖项部署为文件夹而不是 jar 文件?

最佳答案

我通过删除“部署程序集”项目设置页面中的依赖项并将其添加回来解决了该问题。

关于eclipse - 为什么 WTP 插件将一个 Maven 依赖项部署为一个文件夹,而不是一个 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11364556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com