欢迎来到 GeneXus问答,任何有关GeneXus的技术问题都可以在这里提问,你将会收到社区其他成员的回答。

查看GeneXus资源列表获取有关GeneXus信息

提问说明:
问题描述尽量清晰明了,建议按如下格式提问
版本:GeneXus16U1
环境:.Net/Java
运行:Web/SD
数据库:SQLServer2012/MySQL5.7/Oracle11g
现象:xxxx
描述:xxxx

请尽可能说明碰到的问题,如果问题不合规,管理员会删除该提问,多次违规将禁用账号。

Java环境下,我们Deploy打包的时候会缺少一些页面或者引用的外部文件(例如jar包,js或者Css文件),如何解决?

0 投票
Java环境下,我们Deploy Application打包的时候会缺少一些页面或者引用的外部文件(例如jar包,js或者Css文件),如何解决?比如有的web panel或者Procedure没有被打包进去,还有一些Jar包,js或者Css文件也没有打包进去,需要手动复制,可以实现自动打包进去吗?
最新提问 7月 26 分类:GeneXus IDE | 用户: lucas.liu (720 分)

1个回答

+1 投票
 
已采纳

首先,GeneXus Java环境下打包的时候,一般我们只打包main页面,其他的页面会因为相互关联关系,自动打包进来,如果打包的时候缺少了一些web panel或者Procedure,是因为这些web panel或者Procedure没有被其他页面引用或者使用,我们需要在其他页面里面调用这些web panel或者Procedure,这样我们打包的时候才会不漏掉这些对象。

其次,如果我们引用了外部的jar包,js或者Css文件,我们打包的时候需要进行一些配置,例如我要把引用外部的一个jar包一个JS文件和一个CSS文件分别打包进去,过程如下

1、在file里面我们先设定Jar包或JS,CSS文件的存放目录,例如下图中MD5_jar的目录我们设定为drivers,JS和CSS的存放目录为TestJS,当我们编译完成后在源代码的web目录下面,会生成drivers和TestJS文件夹,jar包和相应的JS或CSS文件会被copy到里面

2、我们在生成的源代码目录下面找到user.gxdproj文件(如果没有该文件,可以先打包一次,会自动生成该文件),我们需要修改一下这个文件,把jar包和JS或CSS文件地址信息加进来,把目标路径配置好

例如

<AdditionalFile Include=".\drivers\*.jar">

<RelativeTargetDir>WEB-INF\lib</RelativeTargetDir>

</AdditionalFile>

<AdditionalFile Include=".\TestJS\*.*">

<RelativeTargetDir>Static</RelativeTargetDir>

</AdditionalFile>

Include代表我们要添加的文件路径和文件类型,这里我们选择drivers文件夹下所有的jar类型文件,目标路径为WEB-INF\lib,选择TestJS文件夹下面的所有文件,目标路径为Static

user.gxdproj文件的使用方法可以参考下面这个wiki链接

https://wiki.genexus.com/commwiki/servlet/wiki?36315,Sample%20content%20of%20user.gxdproj%20File

步骤参考下图

3、配置好user.gxdproj之后,我们再次打包(打包的时候不需要手动添加引用的外部jar包,JS或者CSS文件了),这样我们引用的外部文件就可以自动打包到我们想要放置的路径下面了,如下图,

最新回答 7月 26 用户: lucas.liu (720 分)
采纳于 8月 26 用户:xue
...