我有以下项目结构:
-parent (<packaging>pom</packaging>)
|
|--project 1(jar)
|
|--project 2 (jar, depends on project 1)
|
|--project 3 (jar, depends on project 1)
问题:
mvn exec:java
来自哪个项目?mvn清理包
,则找不到项目1)。我想在不安装项目1的情况下执行此操作。当然,如果需要的话,项目的结构可以改变。
下面显示了pom.xml文件中的相关部分。父/砰.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>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>0.0.4-SNAPSHOT</version>
<name>parent: the parent project</name>
<groupId>com.domain</groupId>
<modules>
<module>project1</module>
<module>project2</module>
<module>project3</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.domain</groupId>
<artifactId>project1</artifactId>
<version>${version.releaseVersion}</version>
</dependency>
<dependency>
<groupId>com.domain</groupId>
<artifactId>project2</artifactId>
<version>${version.releaseVersion}</version>
</dependency>
<dependency>
<groupId>com.domain</groupId>
<artifactId>project3</artifactId>
<version>${version.releaseVersion}</version>
</dependency>
</dependencies>
</dependencyManagement>
//other plugins defined in the <build> tag are not shown here
</project>
父/项目1/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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>parent</artifactId>
<groupId>com.domain</groupId>
<version>0.0.4-SNAPSHOT</version>
</parent>
<artifactId>project1</artifactId>
<packaging>jar</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>Project1: common classes</name>
</project>
父/项目2/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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>parent</artifactId>
<groupId>com.domain</groupId>
<version>0.0.4-SNAPSHOT</version>
</parent>
<artifactId>project2</artifactId>
<packaging>jar</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>Project2: JMS gateway</name>
<dependencies>
<dependency>
<groupId>com.domain</groupId>
<artifactId>project1</artifactId>
</dependency>
</dependencies>
<build>
<finalName>project2-${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<mainClass>com.domain.jmsgateway.Demon</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
父/项目3/pom.xml与项目2相似
Re 1。:“如何执行项目2中的一个类?”
Maven是一个构建工具。默认情况下,您的main
类不会自动执行。执行您的main
类应该通过将适当的Maven插件分配/绑定到默认生命周期的集成测试
阶段来配置,或者在构建后完全在Maven之外-取决于您的项目。
如果您使用默认生命周期的< code>test阶段或生命周期参考中描述的链中的其他阶段调用< code>mvn,您的< code>test类将被执行(默认情况下由Maven Surefire插件执行)。
回复2:“我想在之前不安装project1的情况下进行此操作。”
如果您至少没有提前安装< code>p1,那么在构建< code>p2时,Maven应该如何解析< code>p1?请参见Maven依赖性解析——存储库视角:
当 Maven 从存储库解析依赖关系时,以下是它遵循的基本步骤:
2.尝试从本地存储库中找到依赖项,如果找到,请解决它。
3. 至 8.[包括远程存储库]
我得到了一个项目结构,它使用GUI实现了一个棋盘游戏,在一个IntelliJ项目中包含两个项目/模块。两者都使用Maven来管理依赖关系。 模块 A(游戏逻辑) 模块 B(游戏 GUI) 模块A使用模块B中的类,A的pom.xml包含以下依赖项: 但是Game-gui只是包含在项目本身和信息(groupId,artifactId等)中的模块B。)是在模块B的pom.xml中指定的,所以它指的就是这
我面临着以下问题。我有两个Gradle项目(ProjectA和ProjectB)在同一个层次结构上,没有任何根项目。由于ProjectA依赖于ProjectB,我尝试将其建模如下: ProjectA的settings.gradle: ProjectA的build.gradle: 然而,当我在ProjectA上执行gradle build时,我得到了以下错误: 我必须在ProjectB中定义某种默认
我是和的新手。我正在尝试在远程计算机上运行hdfs MapReduce作业。我没有写入/编辑依赖项文件的权限。我想知道是否可以将我的Maven项目传递给我的MapReduce作业。这样,我就不需要SSH进入远程机器并更改maven项目的依赖关系。我将使用包含远程计算机上未包含的所有所需依赖项的JAR来运行我的MapReduce作业。
假设一组简单的项目a、B、C,每个项目都需要使用相同的公共项目Z。所有部分都在持续开发中。 这适用于Z类中的一个简单形式。 但是,假设我们从SwingX或其他非标准库中向类Z的表单添加组件。这个自动将相应的库依赖项添加到项目Z中。我们可以通过直接运行Z.main()来测试Z--工作得很好。但是,如果我们现在重新编译并运行a.main(),就会抛出一个异常:找不到SwingX(或其他)库。 这可以通
我有两个maven项目将它们称为MainProject和DependnecyProject。我在MainProject项目中使用了DependnecyProject函数,这意味着DependnecyProject是MainProject项目的依赖项。 MainProject pom.xml 在我的本地eclipse中,这是完全完美的,执行没有任何问题。 它在本地很好地工作,但不知道如何使它在詹金斯
问题内容: 我创建了一个新的Spring Web应用程序,我非常想使用Maven处理构建/依赖关系。我的问题是,该项目依赖于一些现有的本地项目,而目前尚无法对它们进行美化。是否有可能依赖这些项目而不破坏它们? 问题答案: 不,您不应该尝试这样做。Maven的主要目标是拥有标准化的构建。这就是使Maven易于使用的原因:异常不是常态。这就是为什么Maven要求所有依赖项都采用典型的Maven格式(P