Java

eclipse配置maven的坑

2020-05-12  本文已影响0人  GG_lyf

前言

在学完web之后感觉web乱七八糟的,各种servlet和jsp还有什么el,jstl表达式,搞个jar包,各种不适配的bug,头大啊!!!然后忍无可忍,就在网上找到maven在eclipse里面的配置,自己配了起来,但是也是各种错,由于年代久远,并且鄙人脑容量不太够,只记录了这一点.不多说了,


开搞

1 先上图(是关于maven的一些配置,如果看不清可以ctrl+鼠标滚珠下滑 放大网页)

2 下面是各种可能出现的bug
设置

为1.8

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

pom.xml报错
右击项目->propertise->project facties->dynamic web module 写入src/main/webapp


jsp报错解决方法

/*
加入servlet-api的依赖
如果不加就要用buildpath->add librarise->service runtime->servlet 8.5
*/

pom.xml中配置

<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

测试依赖原则:
1.路径最短者优先
pom.xml中配置

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

单元测试依赖:
pom.xml中配置

<dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.10</version>
   <scope>test</scope>
</dependency>

在jsp中写el表达式: ${pageContext.request.contextPath},jsp会报错.
因此要在pom.xml中配置引入jsp-api (可以用快捷键)

<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.2</version>
    <scope>provided</scope>
 </dependency>

<scope></scope> 标签中的一定是provided不然会报空指针异常(下载的包冲突)
如果不是provided那么这个异常没有办法解决


测试依赖范围对传递性的影响
需要引入spring-core依赖

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.2.0.RELEASE</version>
    <scope>compile</scope>
</dependency>

创建maven工程没有Maven Dependencies解决办法

<!-- 加入servlet-api的依赖 如果不加就要用buildpath->add librarise->service runtime->servlet 
        8.5 -->
    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

配置一个镜像
阿里云镜像:

<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>
上一篇下一篇

猜你喜欢

热点阅读