0%

项目中使用了com.sun包下的类,该包是sun公司不对外开源的代码。使用mvn compile 命令进行编译时报错:

javac uses a special symbol table that does not include all Sun-proprietary classes. When javac is compiling code it doesn't link against rt.jar by default. Instead it uses special symbol file lib/ct.sym with class stubs.

相应的java源码文件中也会出现红线。

阅读全文 »

maven在编译时提示以下信息:编码GBK的不可映射字符

我们直接将项目改为UTF-8编码,再次尝试编译发现问题仍未解决。那我们就需要在pom.xml文件中,指定当前项目的文件格式来解决这个问题。

阅读全文 »

简介

Maven 3.5.0版本提供了一种对<version>标签进行统一管理的特性。在此版本之前的maven项目并不支持这一特性

现在可以在<version>标签中使用${revision}${sha1}${changelist}作为占位符。

阅读全文 »

我们在src/main/java下添加了自定义的xml文件,当使用idea或maven进行编译时,classes目录下并没有包含指定的xml配置文件。

maven默认认为src/main/java*.java存储的目录,maven会使用maven-compiler-plugin插件编译该目录,将该目录下所有的.java文件编译为.class文件后,src/main/java文件夹就没有存在的必要了。maven在打包是会默认将src/main/java下的文件忽略。

阅读全文 »

finalName配置时间属性

通过原生方式获取时间戳

maven提供了获取时间戳的方式,我们可以通过${maven.build.timestamp}获取当前打包时间的时间戳。

如果我们需要将时间戳格式化,则需要在配置一下属性

1
2
3
4
5
6
<properties>
<maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
</properties>
<finalName>
${project.artifactId}-${project.version}_${maven.build.timestamp}
</finalName>
阅读全文 »

在项目的开发过程中,多个项目之间可以存在依赖关系,而项目的打包格式都是war包,如果使用jar打包格式,就无法部署在web容器中。

解决方案就是在项目打包时,同时打包一个jar包进行兼容。

阅读全文 »

pom文件中新增了一条依赖项,但是将代码克隆到本地后使用idea无法下载该jar包。提示offline mode等等

根据提示可知,当前maven开启了离线模式:仅使用本地仓库中现有的依赖项。

阅读全文 »