我将描述问题以及我是如何解决它的。
我正在从gradle迁移到maven(找工作,哈哈),我面临这样一个事实:当我用maven在idea中运行程序时(手动使用idea工具,单击绿色三角形),程序仅编译一次,并且仅在第一次正确输出到控制台时编译。接下来,我更改代码 - 运行程序 - 并获取之前的输出。 命令 mvn clean uild\package 解决了这个问题 这显然重新编译了程序,我得到了正确的输出。
非常不舒服。谷歌搜索提供了诸如在
build project automaticaly
中设置 setting - compiller
标志等选项 - 完成,没有结果
例如,我,习惯在gradle中工作,没有这样的问题,在那里仍然工作得足够好,我写代码,改变它,ctrl - shift - f10
- 程序以最新数据重新启动。这看起来很疯狂,显然是某种错误。
这是我的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>org.example</groupId>
<artifactId>untitled4</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
顺便找到了一个从命令行运行项目的解决方案,比在gradle中做gradle installDist还多,不过是这样的
.DEFAULT_GOAL := build-run
start:
mvn compile exec:java -Dexec.mainClass="org.example.Main"
.PHONY: build
需要帮助在 Maven 上设置自动构建,谢谢 (下面的截图显示程序的输出不是当前的)
要在IntelliJ IDEA中启用Maven项目的自动构建和自动编译,可以按照以下步骤操作: