archetype模板的使用中碰到的问题

本文介绍了在使用Maven archetype过程中遇到的五个问题及其解决方案,包括配置错误、settings.xml引用问题、依赖冲突、资源配置错误以及编译后的源代码问题。详细解答了如何修复这些问题,如正确配置Eclipse的archetype设置,更新settings.xml,解决依赖库的版本冲突,修正资源配置,并处理编译后的源代码格式问题。通过这些步骤,可以顺利进行MAVEN INSTALL并启动应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

■原料:

1 JAVA 

2 ECLIPSE

3 MAVEN

4 NEXUS私服

以上的安装不细表

■问题1:

引用archetype时的配置不正确,问题的原因是NEXUS中包含很多同名的archetype-catalog.xml文件,我去NEXUS用了错误的archetype-catalog.xml文件导致的,在ECLIPSE中配置如下,最后按一下verify校验配置的正确性。


■问题2 :

MAVEN INSTALL 一直不成功 因为settings.xml文件引用错误

■问题3 :

MAVEN install不成功,提示

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool

说在org.apache.commons.pool中找不到impl下的GenericObjectPool类原因是我用的是1.6版的pool,其中不包含pool2中的文件


在POM中添加下面这段即可,然后把原有的pool引用干掉。

<dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-pool2</artifactId>
   <version>2.0</version>
</dependency>


■问题4:

MAVEN INSTALL不成功,读applicationContext1.xml找不到connect失败

原因1:读取的properties文件名原不正确,改成*.properties,

	<property name="locations">
            <list>
                <value>classpath:*.properties</value>
            </list>
        </property>


原因2:properties文件中的配置端口或IP不正确

根据applicationContext1.xml中查找对应的参数看连接值对不对

        <property name="sentinels">
            <set>
                <bean class="org.springframework.data.redis.connection.RedisNode">
                    <constructor-arg name="host" value="${session.redis.sentinels.host1}"/>
                    <constructor-arg name="port" value="${session.redis.sentinels.port1}"/>
                </bean>
                <bean class="org.springframework.data.redis.connection.RedisNode">
                    <constructor-arg name="host" value="${session.redis.sentinels.host2}"/>
                    <constructor-arg name="port" value="${session.redis.sentinels.port2}"/>
                </bean>
                <bean class="org.springframework.data.redis.connection.RedisNode">
                    <constructor-arg name="host" value="${session.redis.sentinels.host3}"/>
                    <constructor-arg name="port" value="${session.redis.sentinels.port3}"/>
                </bean>
            </set>
        </property>


■问题5:

在启动application.java时,报出找不到${jdbc.mysql.Driver}所对应的值,起初以为是在properties文件中没有配,或是存放地址不正确。

后来到启动后的target/class文件夹中看了一下,发现其内容编译后有问题。源代码中注释的行虽然与KEY不在同行,但却变成了注释。

源代码

#-----------------------JDBC连接配置-------
jdbc.mysql.Driver=com.mysql.jdbc.Driver

target/class下的文件

#-----------------------JDBC连接配置-------jdbc.mysql.Driver=com.mysql.jdbc.Driver

解决方法是将源代码的问题行多敲了行回车重新生成

■启动

run application.java,console里虽然还报一些插件下载失败等等,但是已经不影响启动了

启动地址为指定到index文件的地址:http://localhost:8080/swagger/index.html


■安装时参考:

http://blog.youkuaiyun.com/sxdtzhaoxinguo/article/details/46895013

大家可以借鉴下。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值