maven+jdk1.5编译部署工程(请尝试使用 -source 1.5 以启用注释)问题说明

1.接上文|maven部署web工程基础步骤(http://simpledev.iteye.com/blog/254281)
 在开发的工程中可能会使用jdk1.5的注释或泛型,如:
@Override
@SuppressWarnings("unused")
@SuppressWarnings("deprecation")
Map<String, String> map = new HashMap<String, String>();
maven默认是使用低版本编译,mvn package -e 抛出如下一些异常:

D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\FileUtil.java:[374,28] 需
要 ';'
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\FileUtil.java:[374,33] 非
法字符: \59272
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\FileUtil.java:[374,39] 非
法字符: \58933
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\FileUtil.java:[374,45] 非
法字符: \65533

D:\wap_build2.5.1\src\main\java\org\fengzhong\wapbuild\action\news\SaveNewsIssue
ContentAction.java:[295,25] -source 1.3 中不支持注释
(请尝试使用 -source 1.5 以启用注释)
                        @SuppressWarnings("unused")
D:\wap_build2.5.1\src\main\java\org\fengzhong\wapbuild\service\research\impl\Mob
ileResearchServiceImpl.java:[165,19] -source 1.3 中不支持泛型
(请尝试使用 -source 1.5 以启用泛型)
                Map<String, String> map = new HashMap<String, String>();

D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\StringUtils.java:[134,36]
 需要 ';'
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\StringUtils.java:[134,41]
 非法字符: \59272
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\StringUtils.java:[134,47]
 非法字符: \58933
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\StringUtils.java:[134,53]
 非法字符: \65533

D:\wap_build\src\main\java\org\fengzhong\wapbuild\service\product\impl\ProjectIm
pl.java:[135,20] -source 1.3 中不支持泛型
(请尝试使用 -source 1.5 以启用泛型)
                List<Channel> temp2 = new ArrayList<Channel>();
说明:FileUtil.java和StringUtils.java在工程中没有问题,在类中写了main函数方法。


解决方法:需要对pom.xml配置plugin,如果工程中的jar文件都是统一由maven管理,配置:
<plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
就可以了,否则需要指定jar的物理位置:
<compilerArguments>
               <extdirs>D:\wap_build\src\main\webapp\WEB-INF\lib</extdirs>
             </compilerArguments>
lib默认一般放在工程~\WEB-INF\下面,同时也方便打包时将lib加入war文件中。
如果既没有使用maven管理jar,也没有指定compilerArguments ~  extdirs ~ lib配置路径,在编译时会抛出如:
D:\wap_build\src\main\java\org\fengzhong\wapbuild\action\common\MainAction.java:
[3,30] 软件包 com.opensymphony.xwork 不存在
D:\wap_build\src\main\java\org\fengzhong\wapbuild\action\common\MainAction.java:
[5,32] 找不到符号
符号: 类 ActionSupport
public class MainAction extends ActionSupport{
... 等找不到软件包或符号异常。
打开pom.xml文件,配置jdk1.5编译,例如完整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>org.fengzhong.wapbuild</groupId>
  <artifactId>wap_build</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>wap_build Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
                <encoding>UTF-8</encoding>
             <compilerArguments>
               <extdirs>D:\wap_build\src\main\webapp\WEB-INF\lib</extdirs>
             </compilerArguments>
            </configuration>
        </plugin>
    </plugins>
  </build>
</project>

 
都配置好的情况下:mvn package -e
...
[INFO] Generating war D:\wap_build\target\wap_build-1.0-SNAPSHOT.war
[INFO] Building war: D:\wap_build\target\wap_build-1.0-SNAPSHOT.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 28 seconds
[INFO] Finished at: Wed Aug 12 08:52:54 GMT 2009
[INFO] Final Memory: 4M/34M
[INFO] ------------------------------------------------------------------------
在创建的wap_build第一级目录target\下面就可以找到以pom.xml文件中: artifactId-version.war命名的部署文件了。

命令索引:
 D:\>mvn archetype:create -DgroupId=org.fengzhong.wapbuild -DartifactId=wap_build -DarchetypeArtifactId=maven-archetype-webapp
 D:\>cd wap_build
 D:\wap_build>mvn package -e
目录索引:

D:/
  wap_build
    src
      \main\java   ...工程中的java文件
      \main\resources   ...工程中的资源文件
      \main\webapp  ...工程中的页面文件(如:jsp,html,styles/css,js,images,WEB-INF/classes,WEB-INF/lib,WEB-INF/web.xml)
    target(BUILD SUCCESSFUL通过之后才会生成,一般重新生成时,最好把该目录删除)
        classes(编译后的类路径)
        wap_build-1.0-SNAPSHOT  ---部署文件夹
        wap_build-1.0-SNAPSHOT.war ---部署文件war
    pom.xml

 

IDEA 2022创建Maven Web项目:两种方式详解与Tomcat配置 在Java Web开发中,Maven作为项目构建和依赖管理的核心工具,通过其标准化的项目对象模型(POM)和生命周期管理,极大地简化了项目的构建、依赖解析和打包部署流程。其核心原理在于通过坐标机制统一管理jar包,并结合本地仓库、远程中央仓库及镜像仓库实现高效的依赖获取。这一技术价值在于为开发者提供了可复用的项目模板(Archetype)和标准化的目录结构,从而提升团队协作效率与项目可维护性。在实际应用场景中,无论是快速创建企业级Web应用还是微服务模块,Maven都是不可或缺的基础设施。本文聚焦于使用ID 阅读详情

相关推荐

macOS安装Maven的四大安全机制与最佳实践

Maven作为Java生态核心构建工具,在macOS系统中并非简单解压配置即可运行。其本质是JVM进程链在Apple安全框架(Gatekeeper、Notarization、Full Disk Access、Privacy Controls)下的可信执行问题。理解macOS对未签名二进制文件的沙盒限制、JAVA_HOME路径结构兼容性(尤其JDK 17+废弃jre目录)、Shell环境变量加载时机及权限审计机制,是解决mvn命令卡顿、类加载失败、权限弹窗等典型问题的关键。Homebrew和SDKMAN之所以

congjukun0600的博客 562

maven使用时候出现,jdk1.5的情况的解决办法

pom.xml中的maven.compiler.source和maven.compiler.是用来编译源码和打包的,通常它们的版本等于系统JDK的大版本,如11,9,8...;举例来说,我之前使用11打了个jar包,放到jdk=9的虚拟机上没法用,于是手动降低到8,因为代码中也确实没用到8后继版本的特性,于是再次打包后,虚拟机上再运行就可以了。将版本都改成对应的就可以运行了,一般jdk出现1.5错误,无法install,只需要在实体类中的pom.xml中加入。 install出错,显示jdk版本不对或jdk

温涛的博客 1011

Linux环境下Maven安装配置全攻略:从下载到优化实战

在Java项目开发中,构建工具是自动化编译、测试、打包和依赖管理的核心组件。其工作原理是通过预定义的构建生命周期和插件机制,将源代码转换为可部署的制品。作为Java生态中最主流的构建工具,Maven通过标准化的项目对象模型(POM)和中央仓库体系,极大地提升了项目的一致性和可维护性。其技术价值在于实现了依赖的自动解析与传递,统一了项目结构,并能够无缝集成到持续集成/持续部署(CI/CD)流水线中。在Linux服务器开发、微服务架构及云原生应用构建等场景下,一个配置得当的Maven环境是保障开发效率的基础。本

weixin_30321709的博客 412

Maven source 1.5 中不支持……

source 1.5 中不支持…… 先上方案再写原因 解决方式1(推荐) 在maven的pom.xml 直接告诉maven使用的java版本 直接告诉maven使用的jdk版本 <properties> &lt

qq_26462567的博客 623

Maven 3.9.1 安装配置与实战指南:从零搭建Java项目构建环境

在Java开发领域,项目构建与依赖管理是保障工程效率和一致性的基石。其核心原理在于通过声明式配置,自动化处理库的下载、版本解析和生命周期管理,从而解决手动管理Jar包带来的版本冲突和环境差异问题。这项技术的核心价值在于标准化项目结构、统一团队协作流程,并为持续集成和自动化部署铺平道路。其应用场景广泛覆盖从简单的命令行工具到复杂的企业级微服务架构。本文聚焦于Maven这一经典工具,详细解析如何下载安装最新稳定版Maven 3.9.1,并深度配置settings.xml文件以优化镜像仓库和本地存储。通过实战演示

weixin_33693070的博客 428

Mac系统Maven安装配置全攻略:从环境变量到镜像加速

在Java项目开发中,依赖管理和构建自动化是提升开发效率的核心环节。Maven作为行业标准的项目管理工具,通过POM模型和声明式配置,实现了依赖的自动解析、下载与版本管理。其工作原理基于本地与远程仓库的协同,结合预定义的生命周期,将开发者从繁琐的Jar包手动管理中解放出来。这一技术价值在于确保了项目构建的一致性和可重复性,是持续集成和团队协作的基础。在应用场景上,无论是微服务架构还是传统单体应用,Maven都是构建流程的基石。本文聚焦于在Mac系统这一开发者常用平台上,详细解析Maven环境变量配置、阿里云

weixin_30386713的博客 392

-source 1.5 中不支持泛型(请使用-source5或更高版本)

Idea中maven--compile时报错 -source 1.5 中不支持泛型(请使用-source5或更高版本) 解决办法 在项目的pom.xml中,添加 <build> <plugins> <plugin> <groupId>org.apache.maven.pl...

weixin_30869099的博客 168

Apache Wave在CentOS 6.4上的部署与技术考古实践

实时协同系统是分布式架构演进的关键范式,其核心在于操作变换(OT)算法、因果一致性模型与联邦通信协议。Apache Wave作为该领域的标志性开源实现,虽已归档,但仍是理解分布式协作底层原理的重要教学案例和历史系统复现对象。它依赖JDK 7、Cassandra 1.2.x、Thrift RPC及GWT前端等特定技术栈,对操作系统环境具有强约束性——尤其适配CentOS 6.4这一具备glibc 2.12、Linux 2.6.32内核与SysV init的‘黄金兼容平台’。本文聚焦于Wave在该历史发行版中的

afhu47033的博客 430

JAVA1.5

目录 初始接口 public,private与protected的区别 1.初识接口 问:为什么会有接口? 答:因为Java不像C++一样支持多继承,所以Java可以通过实现接口来弥补这个局限。 接口中所有方法都没有方法体。 在接口中,所有方法必须定义为public 或abstract形式,其他修饰权限不被JAVA编译器认可,也就是说方法都为public形式。 interface Paintable { // 可绘制接口 Paintable接口名称 public void draw();

weixin_62995761的博客 1289

Java Web入门:Spring Boot 3.x + JDK 17 实战搭建REST API

REST API是现代Java Web开发的核心交付形态,其本质是基于HTTP协议的资源交互接口。理解其工作原理需掌握Spring Boot自动配置机制、内嵌Tomcat生命周期及Maven依赖管理逻辑。技术价值在于消除传统Servlet部署的环境耦合与版本冲突,显著提升开发-调试-部署闭环效率。典型应用场景包括微服务后端、前后端分离接口、内部工具系统等。本教程聚焦2024年企业真实技术栈——Spring Boot 3.2.6与JDK 17,手把手实现从IDEA新建项目到curl验证JSON接口的完整链路,

csdndownload11123的博客 421

告别仿真失败!用Sigrity 2022 SystemSI搞定DDR4信号质量仿真的保姆级流程

本文详细介绍了如何使用Sigrity 2022 SystemSI工具进行DDR4信号完整性仿真,提供了一套避免仿真失败、提高仿真精度和加速仿真流程的保姆级方法。从模型验证、设计数据预处理到拓扑构建和参数提取,再到高级调试技巧和仿真加速方案,帮助硬件工程师系统性地解决DDR4信号质量仿真中的常见问题。

weixin_42537499的博客 343

maven几个问题总结

1.不用重新拷贝的, pom中添加依赖, maven会自动下载的,也有可能是你依赖的jar包, maven资源库中没有,比如oracle这种就下载不到. 一般pom红叉都是因为jar有问题,这种问题出现的概率较大。 解决办法:右键项目,选择maven,然后update project 就可以了。

297

基于STM32的电子时钟设计

基于STM32的电子时钟设计1、设计目的2、设计具体要求3、proteus仿真图4、程序代码 1、设计目的 (1)掌握使用KEIL MDK5进行软件开发的具体流程; (2)掌握硬件电路的设计方法; (3)掌握STM32微控制器的程序设计及代码编写方法。 2、设计具体要求 (1)通过STM32自带的实时时钟功能获取时间信息; (2)在OLED显示屏上显示日期、时、分、秒等时间信息; (3)通过按键可对时间信息进行修改; (4)具有闹钟设定功能; (5)加分项:自行增加其他功能。 3、proteus仿真图 4

唯一的博客 2万+

Linux环境下Maven配置全攻略:从安装到调优,解决常见问题

Maven作为Java项目构建和依赖管理的核心工具,其核心原理是通过项目对象模型(POM)文件定义项目结构、依赖关系和构建生命周期。在Linux服务器环境中,正确的环境变量配置、版本兼容性以及仓库管理是保障构建成功的关键技术基础。合理的配置不仅能提升开发效率,还能确保团队协作和持续集成流程的稳定性。本文聚焦于Linux环境下Maven的实战部署,详细解析如何通过配置国内镜像加速依赖下载,以及如何规划安装目录以优化权限管理,帮助开发者一次性解决环境搭建难题,为后续的自动化构建和微服务部署奠定坚实基础。

weixin_30673611的博客 381

利用WebDAV协议将百度网盘挂载为本地网络硬盘的完整指南

WebDAV是一种基于HTTP/HTTPS的扩展协议,它允许客户端通过标准HTTP方法对远程服务器上的文件进行读写和管理。其核心原理是通过定义如PROPFIND、PUT、GET等标准化方法,实现跨平台的远程文件系统访问。这项技术的价值在于打破了不同存储服务间的壁垒,将封闭的云存储生态接入开放标准协议体系。在工程实践中,WebDAV常被用于实现跨设备文件同步、媒体服务器集成和生产力工具数据备份等场景。通过搭建WebDAV服务器作为协议转换层,可以将百度网盘这类封闭存储服务映射为标准网络存储,实现类似bdpan

weixin_42523907的博客 2428

(十五)CX20106A 中超声波测量的应用

(十五)CX20106A 中超声波测量的应用

m0_52555663的博客 4511

Maven项目构建全解析:从核心概念到编译实战与疑难排查

在Java项目开发中,依赖管理和构建自动化是提升工程效率的关键。Maven作为主流的项目管理和构建工具,通过‘约定优于配置’的理念,定义了标准的项目结构和构建生命周期。其核心配置文件pom.xml不仅管理项目坐标和依赖,还通过插件机制驱动编译、测试、打包等全流程。理解Maven的本地仓库、中央仓库及镜像配置原理,能有效解决依赖下载慢等常见问题。在实战中,掌握mvn compile、package等核心命令,以及多模块项目构建和依赖冲突排查技巧,对于保障大型项目的可维护性和团队协作至关重要。本文聚焦Maven

weixin_34055787的博客 380

[工作流节点24] 外部用户审批的实现方式:让客户、供应商也能参与流程决策

摘要: 明道云支持通过三种方式实现外部用户审批:1)外部表单审批(推荐方案),通过公开表单让外部用户提交审批意见并自动触发流程;2)链接参数审批,通过含参数的URL实现一键确认;3)API/Webhook审批,适用于系统集成场景。三种方案均无需外部用户登录,支持记录操作日志和安全审计。典型应用包括客户确认报价、供应商发货确认等,实现内外流程无缝衔接。建议根据业务复杂度选择:无代码需求用外部表单,轻量审批用链接参数,系统对接用Webhook。

每日出拳老爷子的博客 347

Java开发必备:Maven安装、环境变量配置与优化实战指南

在Java企业级开发中,项目构建与依赖管理是核心基础环节。Maven作为Apache旗下的主流构建工具,通过声明式的pom.xml配置文件,实现了对项目依赖库的自动化下载、版本管理和生命周期标准化。其核心价值在于解决了传统手动管理Jar包带来的版本冲突、依赖传递复杂等问题,显著提升了开发效率和项目可维护性。在实际应用场景中,无论是单体应用还是微服务架构,Maven都能通过统一的构建流程确保环境一致性。本文聚焦于Maven的安装部署环节,详细解析了环境变量配置、本地仓库优化及镜像加速等关键配置步骤,并针对常见

weixin_33762130的博客 313

基于Python的FAO农业数据高效爬取与分析实战:从Scrapy到异步爬虫的进阶之路

本文将详细介绍如何使用Python最新技术爬取联合国粮农组织(FAO)的农业数据,涵盖从基础爬虫到高级异步爬虫的完整实现过程。文章包含5000余字的技术解析,提供完整的代码示例,并探讨数据处理与存储的最佳实践。

2201_76125261的博客 241

人体分割笔记总结

人体分割 人体分割(human parsing),属于语义分割任务的子任务,旨在对人类图像进行像素级的是细粒度分割(例如,划分出身体部位和服装)。根据不同的场景,又可以分为单人人体解析(single-person human parsing)和多人人体解析(multi-person human parsing,或者 instance-level human parsing)。除此之外,按照处理媒介分类,还可以分为基于图像的人体解析和基于视频的人体解析。 对于人体解析任务,常用的度量指标包括 Pixel a

jacke121的专栏 4255

Mac系统下Maven环境搭建与Java项目构建全攻略

依赖管理是Java项目开发中的基础环节,它解决了库文件版本冲突、项目臃肿和团队协作环境不一致等核心问题。其原理是通过中心化仓库和声明式配置文件,实现依赖的自动下载与传递性管理。这一技术为构建生命周期标准化提供了支撑,极大提升了开发效率,广泛应用于Spring Boot、微服务等后端技术栈。在MacOS这一基于Unix的系统中,环境配置涉及JDK安装、环境变量设置及Shell配置等独特考量。本文聚焦于Maven这一主流工具,详细解析在Mac上从零搭建高效Java开发环境的完整流程,涵盖依赖管理优化、镜像仓库配

weixin_30387423的博客 437

AI应用工程师面试指南与参考答案

摘要:AnkerAI应用工程师职位面向2024/25届毕业生,要求计算机相关专业背景,强调工程实现与技术探索能力。岗位职责包括全栈开发、AI技术整合(如大模型、图像识别)、团队AI赋能及系统优化。职位更看重编程实践能力(Python/Java等)和学习潜力,而非单纯算法知识。成功候选人将参与智能化产品开发,获得导师指导和技术成长机会。面试准备应聚焦项目经验展示、业务需求理解和技术解决方案能力,通过结构化回答和实操案例体现工程思维与创新潜力。

郑伟强dev的专栏 408

IntelliJ IDEA创建Maven Web项目全攻略:从环境配置到实战部署

在Java企业级开发中,项目构建与依赖管理是保障工程质量和团队协作效率的核心环节。Apache Maven作为主流的项目管理和构建自动化工具,通过其约定的目录结构、统一的项目对象模型(POM)和强大的依赖管理机制,解决了传统开发中手动管理JAR包带来的版本冲突、构建过程不一致等痛点。其核心价值在于实现了项目生命周期的标准化、自动化与可复现性,广泛应用于从传统Java EE应用到现代Spring Boot微服务的各类场景。本文聚焦于使用IntelliJ IDEA这一高效IDE,详细解析创建Maven Web项

weixin_34101229的博客 441

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Mac系统Maven安装配置全攻略:从零到精通Java项目管理

在Java项目开发中,依赖管理和构建自动化是提升开发效率的关键环节。Maven作为主流的项目管理和构建工具,通过标准化的项目对象模型(POM)和声明式依赖管理,解决了传统手动管理JAR包带来的版本冲突和构建不一致问题。其核心价值在于提供了一套完整的构建生命周期管理机制,实现了"约定优于配置"的开发范式,大幅降低了项目维护成本。在实际工程实践中,Maven通过本地仓库与远程仓库的协同工作,配合镜像加速配置,能够显著提升依赖下载速度。对于Mac开发者而言,掌握Homebrew和手动安装两种方式,并合理配置环境变

weixin_30887919的博客 393

JB1-1-新手村

项目开发流程,学习路线,学习技巧,环境准备,Java语言特点(编程语言分代,跨平台),笔记(Markdown语法,Notepad3工具,Obsidian工具),开发环境(JDK,HelloWorld详解),集成开发工具(IDEA安装,配置,插件),Maven(仓库,镜像,父子工程,常用命令),Junit单元测试,Git协同开发等。

周航宇的博客 3919
上一篇: oracle创建用户和oracle导入导出命令说明
下一篇: xfire传入传出自定义类型和集合类型-webservice分析
全新时代
博客等级 码龄19年 3粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值