pom.xml 更新后自动修改jre为J2SE-1.5

每次更新Maven的pom.xml后自动修改jre为J2SE-1.5。

然后Eclipse提示“构建路径指定执行环境 J2SE-1.5。工作空间中没有与此环境严格兼容的 JRE”和“The compiler compliance specified is 1.5 but a JRE 13 is used”。手动修改后。问题可以解决。但老改也不是个事。

解决方法一:手动配置maven默认jre

首先编辑 settings.xml 文件
修改第184行左右的 <profile> 部分为你需要的版本,这里以我的JDK1.13为例。

<profile>
    <id>jdk-1.13</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.13</jdk>
    </activation>
    <properties>
        <maven.compiler.source>1.13</maven.compiler.source>
        <maven.compiler.target>1.13</maven.compiler.target>
        <maven.compiler.compilerVersion>1.13</maven.compiler.compilerVersion>
    </properties>
</profile>  

解决方法二:修改项目pom.xml文件

在项目的pom.xml文件中添加下面设置,jdk版本修改成需要的版本。

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.13</source>
                    <target>1.13</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

OK,搞定问题

Maven 项目 pom.xml 报 'Maven Configuration Problem' 错误

解决 Eclipse 的 Maven 项目中 pom.xml 文件,报 'Maven Configuration Problem' 错误。

上篇文章,说了如何新建一个Maven项目。

但是新建完成后发现pom.xml文件上有个红叉,查看提示发现第一行报 'Maven Configuration Problem' 的错误。

虽然不影响项目,正常使用。但还是尽量解决了吧。

根据报错内容看貌似是配置的问题。检查一遍后发现并不是,于是查看详细日志。

发现提示“连接超时”,怀疑可能是Maven下载文件,哪里出问题了。

尝试重新更新项目,勾选下图红框的选项(Force Update of Snapshots/Releases

发现问题还是存在,后搜索得知,需要先清理Maven的下载失败文件。

#Linux
~/.m2 -name “*.lastUpdated” -exec grep -q “Could not transfer” {} \; -print -exec rm {} \;


#Windows
cd %userprofile%.m2\repository #进入maven的存储库目录,酌情修改
for /r %i in (*.lastUpdated) do del %i #清理文件

重新更新一下。

OK,问题解决

Eclipse新建Maven项目

在Eclipse新建Maven项目

初始化项目

打开文件(file)>新建(new)>其他(other)>搜索maven>选择maven project

下一步,勾选创建一个简单项目(跳过原型选择)

下一步,填写Group idArtifact idVersion默认,Packaging默认为jar,Name,Description选填,其他的可以不填

生成的项目结构如下

设置Maven的代理

首先打开Maven下conf目录的settings.xml文件

在96行左右,把<proxy>的注释取消掉

<proxy>
    <!--代理的id,选填-->
    <id>optional</id>
    <!--是否启用这个代理-->
    <active>true</active>
    <!--代理的协议http https socks-->
    <protocol>http</protocol>
    <!--代理的用户名密码,没有的话注释掉-->
    <username>proxyuser</username>
    <password>proxypass</password>
    <!--代理的地址(ip或域名)-->
    <host>proxy.host.net</host>
    <!--代理的端口-->
    <port>80</port>
    <!--不启用代理的Hosts-->
    <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>