小编cal*_*e16的帖子

使用通配符复制多个文件/使用Wix递归复制

我是Wix(以及一般安装人员)的总菜鸟,所以请原谅我.

我的目标是能够遍历目录,搜索所有*,例如*.exe文件并将它们复制到预定义的目标文件夹.事实是,我知道这些文件是什么以及它们的名字所以我不能在wxs文件中逐个输出它们...因此通配符.

现在,我最终得到了这样的东西:

...
<Directory Id='TARGETDIR' Name='SourceDir'>
      <Directory Id='ProgramFilesFolder' Name='PFiles'>
        <Directory Id='MyDir' Name='TestProj'>
          <Component Id='MyComponent' Guid='PUT_GUID_HERE'>
            <CopyFile Id="CopyFiles" DestinationProperty="DESTDIR" SourceName="*.exe" SourceProperty="SRCDIR" />
          </Component>
        </Directory>
      </Directory>
</Directory>
...
Run Code Online (Sandbox Code Playgroud)

好吧,如果我只是从SRCDIR阅读,这是好的,但如果有子文件夹怎么办?如何查找具有特定扩展名的文件?或者还有另一种方法吗?

安装后删除相同文件也是一样的...

非常感谢您提供任何帮助!

windows-installer wix wix3

7
推荐指数
1
解决办法
6940
查看次数

如何在Grails webflow中测试flash.message?

我在Grails中使用webflow,我正在为它编写测试.现在,在内部我有一些错误,所以我在重定向之前向flash范围设置了一条消息:

...
if (some_condition) {
   flash.message = "my error message"
   return error()
}
...
Run Code Online (Sandbox Code Playgroud)

现在,我知道当我要在GSP页面中显示它时,我将访问flash消息

<g:if test="${message}">...
Run Code Online (Sandbox Code Playgroud)

而不是通常的

<g:if test="${flash.message}">...
Run Code Online (Sandbox Code Playgroud)

所以无论如何,我正在编写我的测试,我想知道如何测试消息的内容?通常,在控制器的正常操作中,我遵循这里所写的内容.但是,由于这是一个webflow,即使我检查controller.flash.message/controller.params.message/controller.message,我似乎也找不到该消息.我也试过看流量范围......

有关如何查看消息的任何想法吗?谢谢你!

testing grails spring-webflow

3
推荐指数
1
解决办法
2950
查看次数

Grails/GSP:突破<g:each>

有没有办法打破<g:each>?我有一个页面,其中我正在遍历列表,我必须确保选中一个复选框,如果这是存储在DB中的值.

为了使它更清晰,请考虑以下事项:

<g:each in=${list1}>
    <g:each in=${list2}>
        <g:if test="${list1.id == list2.id}">
            <input type="checkbox" ... checked="checked" />
        </if>
    </g:each>
    ...
</g:each>
Run Code Online (Sandbox Code Playgroud)

其中list1是,例如Domain1.list()(即所有可能的值),list2是Domain2.find(...)(即SELECTED值)

在g:each中,我需要显示所有list1(因此,在每个内部之后的"......")带有一个复选框,但是我需要确保list2中的那些(用户选择的项目保存到DB中) )应相应检查(如果声明).

现在,如果在第一次迭代中更改了检查状态,我需要离开内部每个...任何方式来做到这一点?

谢谢!

each grails break gsp

2
推荐指数
1
解决办法
5269
查看次数

HibernateException:错误的列类型:x,期望:y在Sybase上

我对下面的技术没有太多背景知识,所以任何帮助都会受到赞赏.如果不清楚,请随时提问.

我目前正在开展一个迁移项目,我们正在更新一些技术,包括:

  1. Sybase - 从12.x到15.7
  2. JConnect - 从几个版本到7.0.7_SP130

现在,我们的应用程序部署在JBoss 4.x上并使用Hibernate 3.2.4.sp1.在旧的DB中,我们有许多自定义数据类型看起来像这样(对不起,本来喜欢把它放在表格格式中,但我不知道如何在这里......):

  • 自定义数据类型:TYPE1,基本数据类型:image
  • 自定义数据类型:TYPE2,基本数据类型:tinyint

我们的DDL中的某些列使用自定义数据类型:

CREATE TABLE y (
   our_column_name TYPE1,
   ...
);
Run Code Online (Sandbox Code Playgroud)

服务器启动时,我收到以下错误消息:

... javax.persistence.PersistenceException:org.hibernate.HibernateException:错误的列类型:our_column_name,expected:image

这不是旧设置中发生的事情.请注意我们定义的所有自定义数据类型,只有那些带有imagetinyint的数据类型存在问题; 其他人被认可,并没有错误.

我们在JConnect驱动程序上运行了跟踪,看起来它正在检索正确的数据类型,这就是为什么我现在专注于HibernateException.我见过几个与此类似的帖子(发生在不同的DB上),但基本上,他们给出了类似的解决方法:

  1. 这样的一个站点,建议我们改变DB表的列以使用基本数据类型而不是自定义数据类型.我们通过将our_column_name的数据类型更改为来完成此操作image.完成此操作并重新启动服务器后,错误就会消失.但是,它没有解释导致问题的原因或原因.

  2. 建议使用JPA注释@Column(columnDefinition='image').我们也试过这个,但它似乎对启动没有任何影响(即错误仍然发生).

  3. 在与#2相同的链接中,建议扩展SQL Dialect.但是,我不认为这是可行的 - 只有2个自定义数据类型(图像和tinyint)似乎导致我们的问题,所以这可能是矫枉过正.

  4. 此站点建议hibernate.hbm2ddl.auto=validate从persistence.xml中删除.没有尝试过,因为我们需要验证到位.

  5. 请改用数据类型"LOB"

我也尝试检查Hibernate的代码,因为这里引发了异常 - org.hibernate.mapping.Table.validateColumns(Table.java:261)这几乎指向了这一行:

boolean typesMatch = (col.getSqlType(dialect, mapping).startsWith(columnInfo.getTypeName().toLowerCase())) || (columnInfo.getTypeCode() == col.getSqlTypeCode(mapping));
Run Code Online (Sandbox Code Playgroud)

但是,Hibernate的API文档有点缺乏细节,所以我现在在跟踪这个问题时遇到了一些困难......

什么导致异常的任何想法?如果它在旧版本中工作,那么想知道Hibernate(或者Sybase)的哪些变化会导致这种情况发生?

本 …

java sybase hibernate

2
推荐指数
1
解决办法
9841
查看次数

标签 统计

grails ×2

break ×1

each ×1

gsp ×1

hibernate ×1

java ×1

spring-webflow ×1

sybase ×1

testing ×1

windows-installer ×1

wix ×1

wix3 ×1