- 浏览: 148373 次
- 性别:
- 来自: 天津
-
文章分类
最新评论
-
liuxiang00435057:
不知道,你有这个的实现不,能发给我参考下吗,liuxiang0 ...
RBAC模型的通用权限管理系统的设计(数据模型)的扩展 -
步青龙:
这个批量上传确定可以用吗?我这怎么不行呢,官方的Demo也不行 ...
KindEditor 4.1 发布,开源HTML编辑器
部署 maven 的一些要点、遇到的问题和心得体会
(图片看不了,可以下载doc文件)
文章转自:http://xianguiquan.iteye.com/blog/1506572
一、 maven 环境的搭建
1、 下载并配置 maven (可做可不做)
( 1 )到 http://maven.apache.org 下载 maven 的最新版本 , 并解压到某一目录 ( 假设是 d:\apache-maven);
( 2 )配置系统环境变量 :PATH 里面加上 d:\apache-maven\bin
( 3 )配置 JAVA_HOME 到 jdk 目录
( 4 )在命令行上输入 : mvn -version; 回车,如看到下面信息表示安装成功:
( 5 )在命令行上输入 : mvn help:system; 回车,会在当前用户目录下 (win7 是 C:\Users\ 用户名 ,xp 是 c:\documents and settings\ 用户名 ), 建立 .m2 目录。
2、 Eclipse 集成 maven
Update site 是 http://m2eclipse.sonatype.org/sites/m2e , 全选安装就好了 , 重启 eclipse.
这样就安装了 eclipse 集成的 maven 插件,但建议使用在第一步下载 maven ,做法如下:进入 Preferences ——》 maven ——》 Installations ,点击“ Add ”添加 maven 的解压路径。
3 、建立 settings.xml 文件
如果没有做第一部操作,需要自己在当前用户目录下建立 .m2 目录。之后在 .m2 目录下建立 setting.xml 文件 . 注意: 《 maven 基本使用指南 _ 小飞侠版 1.doc 》这个文档的配置是错误的, mvn install 时会提示:连接不了 180.200.3.76:8081 的错误。是 76 服务器的 maven 私服没有建好的原因 。
以下是我的配置,这里需要建立一个私服,在第四点介绍仓库 时会介绍。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>F:\maven </localRepository>
<profiles>
<profile>
<id>dev</id>
<repositories>
<repository>
<id>releases</id>
<url>http://localhost:8888/nexus-2.0.3/content/repositories/releases</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<repository>
<id>central</id>
<name>Central</name>
<url>http://localhost:8888/nexus-2.0.3/content/repositories/central/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
</settings>
其中下面标注为红色的 , 需要修改为自己的一个本地目录 , 以后所有的 jar 包都会放在这个下面 .
我们将项目所需要用到除源代码之外的东西(如 jar 包, tomcat,script 等都放在上面)通过这个文件, MAVEN 会从服务器会拉取 jar 包到本地,如果服务器上的包有更新,也会自动去更新,这样,当框架有新的版本出现时,不再需要我们手动去重新添加 jar 包这么麻烦。
二、 网厅环境的搭建 (我配置的是南昌网厅,遇到错误没有成功运行)
1、 检出 entity 、 base 为 java project ,biz 为 ejb project ,web 为动态网页工程, script 为 javascript project 。都有红叉叉,没事,继续下面的步骤后就好了。
2、 检出完成后对每个工程 进行添加 maven-enable 依赖管理。
选中项目右键“ Maven —》 Enable Depandency management” ,弹出以下界面:
这里需要设置 maven 的坐标,可以参考第四点的坐标 。 Group ID 使用 com.maywide.ibh , artifact Id 是构件的 id ,设置为项目的名称, version 不用管 。 Packaging 除了 web project 用 war 外,其他选 jar 。
3、 依赖管理。打开项目的 pom.xml 文件添加依赖项。如 biz_nanchang 的依赖配置如下:
< dependencies >
< dependency >
< groupId > com.maywide.ibh </ groupId >
< artifactId > base </ artifactId >
< version > 0.0.1 -SNAPSHOT </ version >
</ dependency >
< dependency >
< groupId > com.maywide.ibh </ groupId >
< artifactId > entity </ artifactId >
< version > 0.0.1 -SNAPSHOT </ version >
</ dependency >
< dependency >
< groupId > com.maywide.ibh </ groupId >
< artifactId > lib95 </ artifactId >
< version > 1.0 </ version >
</ dependency >
< dependency >
< groupId > com.maywide.ibh </ groupId >
< artifactId > lib96 </ artifactId >
< version > 1.0 </ version >
</ dependency >
添加了对 base 、 entity 项目的依赖。其中 lib95 、 lib96 是 privatelib 的 jar 包。我上传到私服时把它命名成这样了。 Base 、 entity 项目也需要添加对 lib 的依赖项,在私服需要一个个 jar 包上传,所以需要一个个的添加依赖, lib 有 94 个 jar 吧,慢慢加呗。因为 maven 的依赖具有传递性的,所以 biz_nanchang 项目不需要添加对 lib 的 jar 包的依赖。同理, web_nanchang 项目只需要添加对 biz_nanchang 的依赖就可以了。
之后选择 mvn install 编译。
3 、把 biz_nanchang 和 web_nanchang 项目的 jdk 改成 1.6 。进行 maven 下的操作时经常会把 jdk 给成 1.5 的,要检查一下。
4 、添加 maven 的依赖库到 Web Deployment Assembly 。网上说要这样做的,防止找不到 jar 包,不过这一步我没体现到它的用处。
5 、 Web 工程右键 ->Run as->Maven build, 这时会跳出一个页面:如图:
在 goals 输入: tomcat:run-war ,
在 VM 参数 : 添加
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
点击 Apply ,之后 run 就可以执行了。但期间遇到错误 2 、错误 3 和错误 4 。错误 4 没有解决导致网站无法运行。
三、我掌握的 maven 的一下知识点。
1 、坐标
Maven 把项目作为构件,每个构件定义一个坐标,由于区分其他的构件,配置依赖时只需加入这个坐标, maven 会先到本地仓库查找该构件,找不到就到远程仓库查找。
坐标如下:
GroupId :定义当前 maven 项目所属的实际项目。例如网厅项目使用 com.maywide.ibh 。
ArtifactID: 构件的 ID ,一个 project 、模块的 id 。
Version: 版本号。
Packaging: 打包的方式。默认是 jar 。 Web project 需要选择 war 。
2 、 maven 的依赖 在 < dependency > 标签里设置,需输入构件的坐标。 Maven 是传递依赖的。
3 、仓库
仓库是存储构件的地方。 Maven 有本地仓库和远程仓库之分。
( 1 )本地仓库
在 setting.xml 的 <localRepository>F:\maven </localRepository> 里面配置本地仓库的位置 ,项目所需的构件会被下载到该目录。如网厅项目,我们可以打开该目录 F:\maven ,可以进入 com 文件夹—》 maywinde 文件夹—》 ibh 文件夹,看到我们的 base 、 entity 、 biz 等项目。
( 2 )远程仓库
远程仓库分为中央仓库和私服。
中央仓库 是全世界共享的一下常见的构件。
私服 是一家公司、企业自己建的用于存储构件的的一个 maven 服务器 , 还有它也起到代理中央仓库的作用。目前最多人使用的是用 nexus 搭建 maven 私服。
私服的仓库分成 4 类: group (仓库组)、 hosted (宿主)、 proxy (代理)和虚拟( virtual )。 Nexus 默认已经有中央仓库的代理了。只需把下面提供的 url 配置到 setting.xml 文件了。
我们要使用到的是宿主仓库,用于存放项目的 jar 包。 Maven 提供 Releases 仓库用于存放发布版本的构件; Snapshots 存放快照版本的构件; 3rd party 存放第三方构件。
选择一个仓库,可以进入以下界面上传构件:
四、遇到的问题和解决
错误 1 : [ERROR] Failed to execute goal on project biz_zhuhai: Could not resolve dependencies for project biz_zhuhai:biz_zhuhai:jar:0.0.1-SNAPSHOT: Failed to collect dependencies for [com.maywide.ibh:lib345:pom:1.0 (compile)]: Failed to read artifact descriptor for com.maywide.ibh:lib345:pom:1.0: Could not transfer artifact com.maywide.ibh:lib345:pom:1.0 from/to releases (http://localhost:9888/nexus-2.0.3/content/repositories/releases): Connection to http://localhost:9888 refused: Connection refused: connect -> [Help 1]
解决: 这是配置的 url 有错误或者是私服没有配好,导致构件下载时出错。如果没有 jar 包需要在私服里下载,可以不配置私服的,也就是可以把 setting.xml 的 profiles 里的东西全部删除的。
错误 2 : [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project web_nanchang: There are test failures.
[ERROR]
[ERROR] Please refer to E:\maven\web_nanchang\target\surefire-reports for the individual test results.
解决 :这是因为测试代码时遇到错误,它会停止编译。只需要在 pom.xml 的 <project> 里添加以下配置,使得测试出错不影响项目的编译。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
错误 3 :
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project web_nanchang: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
解决 : maven 的 web 项目默认的 webroot 是在 src\main\webapp 。如果在此目录下找不到 web.xml 就抛出以上的异常。解决方法在 pom.xml 加入以下的配置。红色背景字体改成你网站的根目录。
<build>
<finalName>simple-webapp</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<webResources>
<resource>
<!-- this is relative to the pom.xml directory -->
<directory>WebContent
</directory>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
错误 4 : 严重 : The web application [/web_nanchang] registered the JBDC driver [org.hsqldb.jdbc.JDBCDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2012-4-27 10:36:49 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重 : The web application [/web_nanchang] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
还不知道怎样解决,导致运行不了。
错误 5 :
这个感觉怪怪的,遇过几次。把 java complier 改成 1.6 或者 disabled dependency manangent 后在 enable 它,搞着搞着就消失了。
五、心得体会:
这次 maven 的部署用了一个多星期。起初对 maven 不了解,按着小飞侠的文档来部署,但那个文档是 boss2 的,而我配的是网厅项目,部署不成功又不知道什么原因。所以我觉得用 boss2 的配置文档去配置网厅的,应该先弄清楚每一步是什么意思。就比如 boss2 的项目为什么不需要检出 lib 和 privatelib 呢,是因为私服里已经有了 jar 包,而网厅的没有,所以不理解地按着文档搞是白搞的。
之后我上网找资料,还买了本书,去学习 maven 。结果学习了一些 maven 的知识,知道怎样配私服,还按书本部署了几个简单的项目。但当用到网厅的时候出现一些奇怪的错误,上网找答案,尝试了多种方法解决了一些错误。我觉得一个部署项目好郁闷啊,如果有个人请教一下或者讨论一下,会很高效。
相关推荐
文档还包含了一个“常见问题答疑”部分,列举了一些用户常遇到的问题及其解决方案,例如: - 默认的系统登录账号和密码。 - 权限异常的原因及其排查方法。 - 分页为什么在前端实现。 - `${ctxPath}`变量的含义及...
它能够帮助开发者快速掌握架构设计的核心概念和技术要点。 - **核心内容**: - **基础知识**:包括Java基础知识复习、面向对象设计原则、设计模式等。 - **框架与工具**:涵盖Spring框架、MyBatis、Hibernate、...
基于的手势识别系统可控制灯的亮_3
untitled2.zip
S7-1500和分布式外围系统ET200MP模块数据
anaconda配置pytorch环境
高校教室管理系统,主要的模块包括查看首页、个人中心、教师管理、学生管理、教室信息管理、教师申请管理、学生申请管理、课时表管理、教师取消预约管理、学生取消预约管理等功能。
半挂汽车列车横向稳定性控制研究:基于模糊PID与制动力矩分配的联合仿真分析在典型工况下的表现,半挂汽车列车在典型工况下的横向稳定性控制研究:基于模糊PID与制动力矩分配的联合仿真分析,半挂汽车列车4自由度6轴整车model,横向稳定性控制,在低附着系数路面,进行典型3个工况,角阶跃,双移线,方向盘转角。 采用算法:模糊PID,制动力矩分配,最优滑移率滑膜控制。 以上基于trucksim和simulink联合仿真,有对应 p-a-p-e-r参考 ,关键词: 1. 半挂汽车列车 2. 4自由度6轴整车model 3. 横向稳定性控制 4. 低附着系数路面 5. 典型工况(角阶跃、双移线、方向盘转角) 6. 模糊PID算法 7. 制动力矩分配 8. 最优滑移率滑膜控制 9. Trucksim和Simulink联合仿真 10. P-A-P-E-R参考; 用分号隔开上述关键词为:半挂汽车列车; 4自由度6轴整车model; 横向稳定性控制; 低附着系数路面; 典型工况; 模糊PID算法; 制动力矩分配; 最优滑移率滑膜控制; Trucksim和Simulink联合仿真; P-A-P-E-R参考
路径规划人工势场法及其改进算法Matlab代码实现,路径规划人工势场法及其改进算法Matlab代码实现,路径规划人工势场法以及改进人工势场法matlab代码,包含了 ,路径规划; 人工势场法; 改进人工势场法; MATLAB代码; 分隔词“;”。,基于Matlab的改进人工势场法路径规划算法研究
本文介绍了范德堡大学深脑刺激器(DBS)项目,该项目旨在开发和临床评估一个系统,以辅助从规划到编程的整个过程。DBS是一种高频刺激治疗,用于治疗运动障碍,如帕金森病。由于目标区域在现有成像技术中可见性差,因此DBS电极的植入和编程过程复杂且耗时。项目涉及使用计算机辅助手术技术,以及一个定制的微定位平台(StarFix),该平台允许在术前进行图像采集和目标规划,提高了手术的精确性和效率。此外,文章还讨论了系统架构和各个模块的功能,以及如何通过中央数据库和网络接口实现信息共享。
三菱FX3U步进电机FB块的应用:模块化程序实现电机换算,提高稳定性和移植性,三菱FX3U步进电机换算FB块:模块化编程实现电机控制的高效性与稳定性提升,三菱FX3U 步进电机算FB块 FB块的使用可以使程序模块化简单化,进而提高了程序的稳定性和可移植性。 此例中使用FB块,可以实现步进电机的算,已知距离求得脉冲数,已知速度可以求得频率。 程序中包含有FB和ST内容;移植方便,在其他程序中可以直接添加已写好的FB块。 ,三菱FX3U;步进电机换算;FB块;程序模块化;稳定性;可移植性;距离与脉冲数换算;速度与频率换算;FB和ST内容;移植方便。,三菱FX3U步进电机换算FB块:程序模块化与高稳定性实现
光伏逆变器TMS320F28335设计方案:Boost升压与单相全桥逆变,PWM与SPWM控制,MPPT恒压跟踪法实现,基于TMS320F28335DSP的光伏逆变器设计方案:Boost升压与单相全桥逆变电路实现及MPPT技术解析,光伏逆变器设计方案TMS320F28335-176资料 PCB 原理图 源代码 1. 本设计DC-DC采用Boost升压,DCAC采用单相全桥逆变电路结构。 2. 以TI公司的浮点数字信号控制器TMS320F28335DSP为控制电路核心,采用规则采样法和DSP片内ePWM模块功能实现PWM和SPWM波。 3. PV最大功率点跟踪(MPPT)采用了恒压跟踪法(CVT法)来实现,并用软件锁相环进行系统的同频、同相控制,控制灵活简单。 4.资料包含: 原理图,PCB(Protel或者AD打开),源程序代码(CCS打开),BOM清单,参考资料 ,核心关键词:TMS320F28335-176; 光伏逆变器; 升压; 逆变电路; 数字信号控制器; 规则采样法; ePWM模块; PWM; SPWM波; MPPT; 恒压跟踪法; 原理图; PCB; 源程序代码; BOM
centos9内核安装包
昆仑通态触摸屏与两台台达VFD-M变频器通讯实现:频率设定、启停控制与状态指示功能接线及设置说明,昆仑通态TPC7062KD触摸屏与两台台达VFD-M变频器通讯程序:实现频率设定、启停控制与状态指示,昆仑通态MCGS与2台台达VFD-M变频器通讯程序实现昆仑通态触摸屏与2台台达VFD-M变频器通讯,程序稳定可靠 器件:昆仑通态TPC7062KD触摸屏,2台台达VFD-M变频器,附送接线说明和设置说明 功能:实现频率设定,启停控制,实际频率读取等,状态指示 ,昆仑通态MCGS; 台达VFD-M变频器; 通讯程序; 稳定可靠; 频率设定; 启停控制; 实际频率读取; 状态指示; 接线说明; 设置说明,昆仑通态MCGS与台达VFD-M变频器通讯程序:稳定可靠,双机控制全实现
研控步进电机驱动器方案验证通过,核心技术成熟可生产,咨询优惠价格!硬件原理图与PCB源代码全包括。,研控步进电机驱动器方案验证通过,核心技术掌握,生产准备,咨询实际价格,包含硬件原理图及PCB源代码。,研控步进电机驱动器方案 验证可用,可以生产,欢迎咨询实际价格,快速掌握核心技术。 包括硬件原理图 PCB源代码 ,研控步进电机驱动器方案; 验证可用; 可生产; 核心技术; 硬件原理图; PCB源代码,研控步进电机驱动器方案验证通过,现可生产供应,快速掌握核心技术,附硬件原理图及PCB源代码。
高质量的OPCClient_UA源码分享:基于C#的OPC客户端开发源码集(测试稳定、多行业应用实例、VS编辑器支持),高质量OPC客户端源码解析:OPCClient_UA C#开发,适用于VS2019及多行业现场应用源码分享,OPCClient_UA源码OPC客户端源码(c#开发) 另外有opcserver,opcclient的da,ua版本的见其他链接。 本项目为VS2019开发,可用VS其他版本的编辑器打开项目。 已应用到多个行业的几百个应用现场,长时间运行稳定,可靠。 本项目中提供测试OPCClient的软件开发源码,有详细的注释,二次开发清晰明了。 ,OPCClient_UA; OPC客户端源码; C#开发; VS2019项目; 稳定可靠; 详细注释; 二次开发,OPC客户端源码:稳定可靠的C#开发实现,含详细注释支持二次开发
毕业设计
三菱FX3U六轴标准程序:六轴控制特色及转盘多工位流水作业功能实现,三菱FX3U六轴标准程序:实现3轴本体控制与3个1PG定位模块,轴点动控制、回零控制及定位功能,结合气缸与DD马达控制转盘的多工位流水作业模式,三菱FX3U六轴标准程序,程序包含本体3轴控制,扩展3个1PG定位模块,一共六轴。 程序有轴点动控制,回零控制,相对定位,绝对定位。 另有气缸数个,一个大是DD马达控制的转盘,整个是转盘多工位流水作业方式 ,三菱FX3U;六轴控制;轴点动控制;回零控制;定位模块;DD马达转盘;流水作业方式,三菱FX3U六轴程序控制:转盘流水作业的机械多轴系统
在 GEE(Google Earth Engine)中,XEE 包是一个用于处理和分析地理空间数据的工具。以下是对 GEE 中 XEE 包的具体介绍: 主要特性 地理数据处理:提供强大的函数和工具,用于处理遥感影像和其他地理空间数据。 高效计算:利用云计算能力,支持大规模数据集的快速处理。 可视化:内置可视化工具,方便用户查看和分析数据。 集成性:可以与其他 GEE API 和工具无缝集成,支持多种数据源。 适用场景 环境监测:用于监测森林砍伐、城市扩展、水体变化等环境问题。 农业分析:分析作物生长、土地利用变化等农业相关数据。 气候研究:研究气候变化对生态系统和人类活动的影响。