开发者社区 问答 正文

Web转maven问题?报错

我是从web转到maven项目的,转之后的jar是通过在pom.xml文件中写依赖加进来的。但是我把之前lib目录下的jar删除了,为什么程序依然报错呢,这些jar并没有被add to build path

展开
收起
爱吃鱼的程序员 2020-06-09 16:16:19 524 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    请贴出pom.xml来分析,另外maven命令有没有把 build,install成功?

    对maven不是很熟悉,刚刚接触,cleaninstall不能成功,说是编码UTF-8的不可映射字符,也有找不到符号等错误信息

    要转Maven,不如直接一步到位转Gradle

    上面给的任务。pom.xml配置,项目结构下面是pom.xml文件的结构,请帮忙看一下谢谢先清理一下再重新打包试过了,不行<projectxmlns="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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>IoT_Harbor</groupId>
     <artifactId>IoT_Harbor</artifactId>
     <version>0.0.1-SNAPSHOT</version>
     <packaging>war</packaging>
     <dependencies>
     <dependency>
     <groupId>cetc.iot</groupId>
     <artifactId>MvnJar</artifactId>
     <version>0.0.1-SNAPSHOT</version>
    </dependency>
     </dependencies>
     <build>
      <sourceDirectory>src</sourceDirectory>
      <resources>
       <resource>
        <directory>src</directory>
        <excludes>
         <exclude>**/*.java</exclude>
        </excludes>
       </resource>
      </resources>
      <plugins>
       <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
         <source>1.7</source>
         <target>1.7</target>
         <encoding>utf8</encoding>
        </configuration>
       </plugin>
       <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.3</version>
        <configuration>
         <warSourceDirectory>WebRoot</warSourceDirectory>
         <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
       </plugin>
      </plugins>
     </build>
    </project>
    这里是pom.xml文件

    maven-compiler-plugin配置编译参数 compilerArguments

    <plugin>    <artifactId>maven-compiler-plugin</artifactId>    <configuration>        <source>1.6</source>        <target>1.6</target>        <encoding>UTF-8</encoding>        <compilerArguments>            <extdirs>src\main\webapp\WEB-INF\lib</extdirs>        </compilerArguments>    </configuration></plugin>


    web项目的话,打war包也配置一下

    <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><configuration><warName>test</warName><webResources><resource><directory>${project.basedir}/lib</directory><targetPath>WEB-INF/lib</targetPath><includes><include>**/*.jar</include></includes></resource></webResources></configuration></plugin>





    谢谢哈cleanpackage清空target(编译结果目录)>(自动compile)打包;包类型取决于pom.xml文件中配置的<packaging>war</packaging>如果开发时要用tomcat,建议使用maven的tomcat插件就好了。添加后,执行tomcat:run就OK了,比较方便直接执行maven打包命令,编译是会自动执行的。这个在部署到tomcat时,需要cleancompile吗
    2020-06-09 16:16:38
    赞同 展开评论