Debug的心路历程

在IDEA中创建一个maven项目

一天前,我开始了跟着教程在IDEA中创建maven项目,其中坎坷重重。经过了无数次error又debug的经历,我终于成功地解决了一些又一些的问题(泪奔~)现在将debug的心路历程整理,希望能给后来的人一些启示,也希望能有大神给我更好的解决方案。

一、Warning:No artifacts configured

在IDEA上新建了一个maven项目(maven-archetype-webapp),然后要配置tomcat,跑服务器

——> Deployment ——> '+'  ——>   Artifacts   就在这时发现并没有Artifacts,很绝望

——> project structure —> artifacts —> '+' —> web Application:exploded —> '+ ' —> webapp的目录 — > apply 然后就有了

具体请看详解:解决具体图解

二、就是没有mybatis-generator插件

作为Mybatis三剑客之一的mybatis-generator,真的很强大,但是我就是怎么都怎么都怎么都·······装不上

<plugin>
       <groupId>org.mybatis.generator</groupId>
       <artifactId>mybatis-generator-maven-plugin</artifactId>
       <version>1.3.2</version>
       <configuration>
           <verbose>true</verbose>
           <overwrite>true</overwrite>
       </configuration>
</plugin>

就在pom.xml文件中加上这么一个插件就可以了,为什么就是不行呢?然后在小伙伴的帮助下,直接把他的复制过来了,然后就有了。我也不是很理解,对比了一波之后,发现并没有什么不同,唯一就是起的名字不同?我怀疑是IDEA的版本问题,anyway,反正有了就好了。直接贴出代码吧,有需要的童鞋可以也直接复制一下试试。

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>
    <groupId>com.esta</groupId>
    <artifactId>iotesta</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>iotesta Maven Webapp</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <org.springframework.version>4.0.0.RELEASE</org.springframework.version>
        <org.mybatis.version>3.4.1</org.mybatis.version>
        <org.mybatis.spring.version>1.3.0</org.mybatis.spring.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-servlet-api</artifactId>
            <version>7.0.64</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-oxm</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.7.3</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>${org.mybatis.spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${org.mybatis.version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.6.11</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.9.12</version>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
            <!--<scope>runtime</scope>-->
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.1.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.1.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>20.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.5</version>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.1</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <!--<scope>test</scope>-->
        </dependency>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.3</version>
        </dependency>
        <!-- id加密解密 -->
        <dependency>
            <groupId>org.hashids</groupId>
            <artifactId>hashids</artifactId>
            <version>1.0.1</version>
        </dependency>
        <!-- ftpclient -->
        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>3.1</version>
        </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.2.2</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.0.1</version>
        </dependency>
</dependencies>
    <build>
        <finalName>mmall</finalName>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerArguments>
                        <extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs>
                    </compilerArguments>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

三、Fatal error initializing plugin com.seventh7.plugin.mybatis

接着又想安装mybatis三剑客之一的mybatis-plugin插件,然后安装失败?这不是重点,重启之后发现IDEA根本加载不了原来的项目了,又很绝望·····

其实只要在IDEA用户配置中将下载的插件删除就好了,我是直接将plugins那个文件夹全删掉了 

地址大约位置:C:\Users\Administrator\.IntelliJIdea2017.1\config\plugins

然后就可以打开啦!

至于那个插件,我之后又安装了一次,还是这个问题,我就放弃使用如此强大的插件了(难过过)。

四、This may be due to a blocked port, missing dependencies

再假装都下好了mybatis的各种插件之后,就开始想应用mybatis-generator插件自动生成mapper和实体类了,然后我最放心的mysql数据库发生了问题:apache启动不了?说什么端口堵了?就很气·····

 然后解决方法呢就是自己修改两个端口:

 1.到这个目录下\ xampp\apache\conf  ,打开httpd.conf,将里边的80端口全部改成一个未被占用的端口,比如8008

 2.到这个目录 \ xampp\apache\conf\extra ,打开httpd-ssl.conf ,将文件里的443端口全部换成一个未被占用的端口,比如4433

改完之后,点击Admin打开网页的时候,记得看看网页上的端口号,不是刚改的那个,要改一下

五、failed: Cannot resolve classpath entry:

在我成功启动并建立了数据库之后,我就想终于可以享受自动生成的过程了,然而,BUILD FAILURE??告诉我 failed: Cannot resolve classpath entry: 明明就是把数据库连接的那个jar包放到了那个路径下啊,又很绝望·····然而在我多方查阅资料了之后,答案是,最好使用绝对路径,不要包含中文!!一个狠心放到了F盘的根目录:

db.driverLocation=F:/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar

然后就终于BUILD SUCCESS!激动~!

六、Unexpected error while running MyBatis Generator. Cannot resolve classpath entry: mysql-connector-jar

嗯,就在我敲了好多代码,打算用Restlet Client来读一下数据库,然而又报错? Cannot resolve classpath entry: mysql-connector-jar?开玩笑,我可是都改好路径了,还能自动生成怎么就不行了?

然后又经历了多方查阅资料之后,在WEB-INF下的lib下把上面讲的那个jar包加进去就OK了····感觉自己有点傻,Eclipse是要这样的,以为在IDEA中前面都配置了,就不用再加了,唉·····

七、静态文件为什么就是加载不上?

嗯,好多次这种问题了。spring mvc的配置文件,assets和images都是Webapp下的文件夹,怎么说,仔细看看配置的关系就好了,仔细仔细仔细······

    <!-- 静态资源配置 -->
    <mvc:resources location="/assets/" mapping="/assets/**"></mvc:resources>
    <mvc:resources location="/images/" mapping="/images/**"></mvc:resources>

会持续更新·············

猜你喜欢

转载自blog.csdn.net/qq_41443301/article/details/81227596