gpt4 book ai didi

java - 如何使用 Maven 构建 hello world 类?

转载 作者:行者123 更新时间:2023-11-30 05:12:43 27 4
gpt4 key购买 nike

现在源代码已经准备好了,我如何使用maven构建它?

假设源文件是hw.java

我google了一段时间,所有的解决方案都要求我以固定的方式设置目录。

但是我想要做的是将 hw.java 保留在当前目录(.)中,然后:

vi pom.xml
...
mkdir build
cd build
maven ...

我可以对 Maven 拥有这种自由吗?

最佳答案

Suppose the source file is hw.java

Java 中类文件名的错误选择:)

I've googled some time,all the solutions requires me to set the directory in fixed manner.

没有真正修复,但“热烈建议”(Maven 依赖于约定 - directory layout 就是其中之一 - 如果您决定使用它,强烈建议遵循 Maven 的约定,减少工作,减少麻烦)。

But what I want to do is keep hw.java in current directory (.) (...)

我认为您至少需要在 pom.xml 下有一个目录来存储 java 源代码。

Can I have that kind of freedom with maven?

Maven 很灵活,默认值可配置的,但您应该真正使用约定(或 Maven 之外的其他工具)。我建议使用简单项目的原型(prototype)来创建项目:

mvn archetype:generate -B -DgroupId=com.stackoverflow \
-DartifactId=Q2841166 \
-Dversion=1.0-SNAPSHOT

然后将源代码放在 src/main/java 下(在适当的包中)并运行 mvn install

<小时/>

更新:看来您不明白我在说什么,或者您只是不想听。在这种情况下,请随意修改 build 元素,如 the POM reference记录的。 (正如我所说,默认值不是强制性的):

<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">
...
<build>
<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
<scriptSourceDirectory>${basedir}/src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>${basedir}/src/test/java</testSourceDirectory>
<outputDirectory>${basedir}/target/classes</outputDirectory>
<testOutputDirectory>${basedir}/target/test-classes</testOutputDirectory>
...
</build>
</project>

现在,因为不建议更改这些默认值,因为 Maven 不鼓励这样做,因为如果您不处理遗留项目,这是一个坏主意,因为如果您不需要这样做,那么这是无用的工作,因为这会带来更多的麻烦而不是好处,所以不要指望找到关于此的“教程”。让我重新表述一下:您要求的是一个“如何搬起石头砸自己的脚”教程,这太荒谬了。

最后一件事:如果 Maven 没有按照您希望的方式工作,请不要使用 Maven,这是我可以给您的最佳建议。

关于java - 如何使用 Maven 构建 hello world 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2841166/

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