编译ireport4.7源码
(Compile iReport 4.7 from sources)
1.准备工作
(1)下载iReport-4.7.0-src.zip并解压
(2)下载NetBeans IDE 7.2 (javaEE)安装.(netbeans-7.2-ml-javaee-windows.exe)
(3)下载NetBeans 6.5.1(
netbeans-6.5.1-200903060201-ml-java.zip)
2.不会的先抄抄
NetBeans中打开项目,选择iReport-4.7.0-src解压后路径,我的是 E:\iReport-4.7.0-src
打开nb项目里的重要文件,右键构建脚本,运行目标,create-ireport-distro-src-zip
报错: E:\iReport-4.7.0-src\build.xml:7: The following error occurred while executing this line:
E:\iReport-4.7.0-src\nbproject\build-impl.xml:19: You must define 'nbplatform.NetBeans_IDE_6.5.1_(Build_200903060201).harness.dir'
构建失败,看来需要NetBeans 6.5.1
在 官网论坛上找到一篇文章(
文章A) 下载了platform.properties文件,覆盖iReport-4.7.0-src\nbproject下的同名文件,重启nb
可以开始构建过程,但失败
报错: C:\Program Files (x86)\NetBeans 7.2\harness\suite.xml:184: The following error occurred while executing this line:
C:\Program Files (x86)\NetBeans 7.2\harness\build.xml:174: Module org.netbeans.modules.project.libraries excluded from the target platform
将org.netbeans.modules.project.libraries从platform.properties中删除
再一次构建,后期提示输入密码 for jaspersoft.jks
之后构建两次,没有提示输入密码,但出现其他错误,同样没有成功。
3.重新来
上面的方法不好用,同时对nb不熟悉,不大会排查错误,重新解压源码
参照<<How to compile iReport from sources>>(
文章B)的方法进行修改
(1)使用nb打开新解压的项目,好初始些本地的项目配置。
(2)因为需要Netbeans 6.5.1 ,在NB中打开 工具-->NetBeans平台 添加平台,指向netbeans-6.5.1-200903060201-ml-java.zip解压后的文件夹,名称可以任意写,保存关闭NB
(3)打开E:\iReport-4.7.0-src\nbproject\private\platform-private.properties,加入所需参数,修改后的文件内容如下:
user.properties.file
=C
:\\Users\\leo\\AppData\\Roaming\\NetBeans\\
7.
2\\build.properties
nbplatform.NetBeans_IDE_6.5.1_(Build_200903060201).harness.dir =E :\\netbeans\\harness
nbplatform.NetBeans_IDE_6.5.1_(Build_200903060201).label =NetBeans IDE 6. 5. 1 (Build Build_200903060201)
netbeans.dest.dir =E :\\netbeans
后三行为新增加的,特别是最后一行,和原文有些不同,按原来的应是
nbplatform.NetBeans_IDE_6.5.1_(Build_200903060201).harness.dir =E :\\netbeans\\harness
nbplatform.NetBeans_IDE_6.5.1_(Build_200903060201).label =NetBeans IDE 6. 5. 1 (Build Build_200903060201)
netbeans.dest.dir =E :\\netbeans
nbplatform.NetBeans_IDE_6.5.1_(Build_200903060201).netbeans.dest.dir
=E
:\\netbeans
但那样的话会出错
java.io.IOException:
No definition of netbeans.dest.dir in E:\iReport-4.7.0-src\jasperreports-components
(4)打开NB
构建脚本-->运行目标-->create-ireport-distro-src-zip
中间各种警告⊙﹏⊙b,最后生成一个zip文件,路径E:\iReport-4.7.0-src\dist\iReport-4.7.0.zip
这个文件解压后,运行bin里的ireport.exe就可以打开ireport了,由于某些模块缺失,禁用它们就能继续用了。
(5)构建win-installer(
参考)
直接构建win-installer会提示
Cannot run program "makensis"
需要下载安装nsis程序(
地址)
然后将makensis.exe文件所在路径加入到系统的path路径下,重启nb就能成功构建exe文件,但没有安装测试