最近公司的一个项目需要用到生成报表的功能,由于只需要用到导出成xml,CVS,excell,和pdf的功能,所以我选择了displaytag。
但是这个东东有很多缺点,比如说文档太少,不够详细,例子不够简单。但是我主要遇到的问题是displaytag生成文档的时候那个url,不知道是哪个developer用这中形式的url:http://loclahost:8080/displaytag-examples-1.2/example-export.jsp?d-5394226-e=2&6578706f7274=1 .
关键是这个"-",超恶心, struts2的ognl表达式不支持这个东西,还有一数字开头的也不行。既然是开源软件,遇到令人难受的了当然要改。
先去下载displaytag的源文件还有编译好的jar包,大概先看了一下,大概是用maven来实现编译和打包的。这可能是开源软件为了摆脱对IDE的依赖吧。
中间过程是很艰辛的,耗费了我差不多一天的时间(上午打了半天游戏*^__^*)。解决方法是这个样子的。安装maven的过程省略,大概跟手动安装jdk差不多
1.先找到需要改的java文件,改过之后,到项目根目录下用命令 "mvn test"先测试一下,不管怎样,我测试不通过,貌似是它们的测试代码用到了我改的那个东西,是硬编码进去的(测试代码太垃圾了)
2.于是想到要跳过测试,具体是这样子的,同样命令"mvn package -Dmaven.test.skip=true" ,不算是太难就直接帮你打成jar包了。
跟Eclipse稍微不同的是,它可以帮你将一些tld文件和一些说明一起放到jar包里面,这个操作在Eclipse里面我还不知道怎么操作。好了,问题解决了,但是我还不知道怎么提交我改的这个代码,让别人也分享一下,要是这个项目放到google code上就好了。改天再研究
maven命令大全:
validate,验证工程是否正确,所有需要的资源是否可用。
compile,编译项目的源代码。
test-compile,编译项目测试代码。
test,使用已编译的测试代码,测试已编译的源代码。
package,已发布的格式,如jar,将已编译的源代码打包。
integration-test,在集成测试可以运行的环境中处理和发布包。
verify,运行任何检查,验证包是否有效且达到质量标准。
install,把包安装在本地的repository中,可以被其他工程作为依赖来使用
deploy,在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
generate-sources,产生应用需要的任何额外的源代码,如xdoclet。
分享到:
相关推荐
本书不仅仅是开源软件技术的介绍,更是一次思想的碰撞和观念的交流。对于程序员来说,这本书不仅是技术上的参考,更是精神上的指引。而对于企业来说,本书揭示了如何利用开源软件提高竞争力的途径,甚至是一种新的...
跟我学做开源软件的翻译 在软件的武林世界中,开源软件已经成为软件行业的一个突飞猛进的门派,开源软件的免费使用、允许用户修改源代码的理念,也让无数软件爱好者投入到开源软件的代码编写、人机界面设计、文档...
开源软件的现状与治理 本文总结了开源软件的现状、风险和治理,...开源软件的现状与治理是一个非常重要的问题,需要用户和企业了解开源软件的风险和优势,实施有效的治理机制,规避相关风险,保护知识产权和安全性。
本管理办法规定了开源软件的管理内容,包括准入管理、上线管理、版本管理、日常运维、质量评估到下线一整套管理准则和管理流程。准入管理要求对即将引入到生产系统中的开源软件,通过对产品特性、产品成熟度、产品...
这款软件的核心特点在于其开源性,这意味着它的源代码对外公开,开发者和爱好者可以自由地查看、修改和分享代码,促进了社区协作与创新。Java语言作为其编程基础,为软件的稳定性和跨平台能力提供了坚实的支持。 ...
中国的开源软件产业研究报告(2022)揭示了开源软件在中国的发展现状、挑战与前景。开源软件是指软件的源代码对外公开,允许用户自由使用、修改和分发,这一模式在云计算、技术创新和法制建设等领域产生了深远影响。...
开源软件是当今软件产业中一个重要的分支,其概念最早可以追溯到自由软件运动。开源软件不仅是软件开发的一种模式,也是推动技术进步和创新的重要力量。随着技术的发展,开源软件已被广泛应用于各个领域,成为软件...
2. **办公软件LibreOffice/Google Docs**:LibreOffice是一款开源的办公套件,包含文字处理、电子表格、演示文稿等组件,与Microsoft Office兼容。Google Docs则是在线协作编辑的文档工具,实时同步,便于团队合作。...
- **知识产权保护**:如何平衡开源软件的自由使用与知识产权的保护是一大挑战。 - **社区维护**:开源项目的持续发展需要活跃的社区支持,但这往往需要大量的资源投入。 - **商业模式探索**:虽然开源软件在某些领域...
开源数据恢复软件是一种重要的工具,尤其对于那些意外丢失重要数据的用户来说,它提供了一种可能的解决方案。本文将深入探讨开源数据恢复软件的工作原理、功能特性、适用场景以及如何利用其源码进行定制和改进。 一...
开源软件与云计算的紧密关系体现在两个方面:一方面,开源软件是云计算基础设施的重要组成部分,许多云计算平台依赖开源软件来构建和创新服务,如Linux操作系统、Apache服务器等。开源生态为云计算产业提供了...
源软件的知识产权问题源于其独特的产权模式,与传统的闭源软件相比,开源软件的使用权、修改权和分发权通常更为开放。企业使用开源软件时,可能会遇到一系列知识产权风险,这些风险主要体现在版权侵权、专利侵权和...
“更易于二次开发和维护”是开源软件的一大优势。由于源代码开放,开发者可以根据实际需求进行定制,添加新的功能或者优化现有流程。同时,开源社区的存在可以提供技术支持和更新,确保系统的长期稳定性和适应性。 ...
2018年是开源软件发展迅速的一年,good year。冒出的软件不乏dubbo等等
开源软件之道-java 开源软件之道-java
开源软件是一种公开源代码的软件,允许用户自由使用、修改和分发,是信息技术领域中的一个重要概念。开源软件的优势在于其透明性、可定制性、安全性以及社区支持。开源软件的源代码可供公众查看,这使得任何有技术...
开源心电图分析软件是EP Limited推出的一款专用于心电图(ECG)数据处理与分析的工具。这款软件的核心特点在于其开放源代码的特性,允许用户进行自定义开发和二次利用,促进了医学研究与临床实践的结合。在提供的...
10. 结论:开源软件已经成为企业中的一个重要组成部分,它可以帮助企业提高效率、降低成本、增强竞争力等。随着计算机技术的发展,开源软件的发展前景将更加广阔。 开源软件已经成为企业中的一个重要组成部分,它...
FreeSCADA是一款基于WPF(Windows Presentation Foundation)技术的开源工业组态软件,它提供了全面的解决方案,使得用户能够快速构建自己的监控系统。这个软件包含了丰富的功能,如组态界面设计、内置脚本语言以及...
随着科技的不断进步和数字化转型的深入推进,开源软件作为一种创新的软件开发模式,在全球范围内受到广泛关注。在中国,开源软件产业已经逐渐形成了独特的发展态势。《2022年中国开源软件产业研究报告》深入剖析了...