我对多模块项目中的属性有疑问.
考虑以下3级项目结构:
project
+- pom.xml (packaging: pom) //referred to as super-pom
+- module_group
+- pom.xml (packaging: pom) //referred to as group-pom
+- module
+-pom.xml (packaging: jar) //referred to as module-pom
Run Code Online (Sandbox Code Playgroud)
在super-pom中,我定义了一个属性修订版,它获取了默认值"unknown".
另外,我声明并使用buildnumber-maven-plugin配置为获取svn修订版并将其放入属性修订版中.
接下来我配置将该maven-jar-plugin属性写入清单.
在模块-pom我声明使用buildnumber-maven-plugin实际执行的.
这一切都在直接构建模块时起作用,即仅执行模块pom.清单包含由buildnumber-maven-plugin控制台中打印的as 报告的修订.
但是,如果我执行super-pom或group-pom,则将版本的默认值写入清单,尽管buildnumber-maven-plugin执行获取并检索正确的版本(它 在运行之前将其打印到控制台maven-jar-plugin).
所以我觉得我在多模块项目中缺少关于属性继承的东西.
有没有人知道这里有什么问题?或者任何人都可以指出我在这些情况下如何实际处理属性的描述(遗憾的是我还没有设法找到一个好的描述)?
更新
我做了一些研究和一些测试运行与调试输出(-X选项),从我到目前为止发现,我认为我的问题如下:
1)在pom解析期间,pom中使用的属性将替换为它们的值.
考虑这个部分pom:
<!-- declare the property default value -->
<properties>
<revision>default</revision>
</properties>
...
<!-- use the …Run Code Online (Sandbox Code Playgroud) 我目前正计划开发一个我可能希望将来分发的桌面Java应用程序.至于UI技术,我想到了JavaFX,因为Swing不会再进一步开发,JavaFX似乎有一些不错的属性.
我知道JavaFX在更多平台上可用还需要一段时间,但我认为一旦它在Linux上可用到2012年底它应该没问题.
由于我希望我的应用程序的要求尽可能低并且安装尽可能顺利,我想重新分发JavaFX运行时以及应用程序.应用程序运行的唯一要求应该是现有的JRE.
但是,我对是否允许重新分发JavaFX运行时感到困惑.
甲骨文说:
根据许可协议中的条款和条件,不允许重新分发JavaFX Runtime.
而JavaFX.com建议:
对于希望最终用户尽可能顺利安装JavaFX Runtime的应用程序开发人员,可以使用多种部署选项:
- 重新分发与Java应用程序紧密集成的JavaFX Runtime.
有谁知道哪个是真的,或者可能是什么差异(我何时允许重新分配运行时,何时不是)?
是否可以将媒体 jquery 添加到您的 jquery 代码中?
当我的屏幕大小达到 800 像素时,我需要减少“slideWidth: 83”;
$(document).ready(function(){
$('.slider4').bxSlider({
slideWidth: 83,
minSlides: 2,
maxSlides: 9,
moveSlides: 1,
slideMargin: 15
});
});
Run Code Online (Sandbox Code Playgroud) 我通常真的很犹豫要发布这样的问题,但是我似乎找不到任何可用的东西:是否有关于Hibernate事件的文档,即事件的含义,抛出事件,包含哪些数据等?
任何提示或链接将不胜感激。
要获得事件列表,我可以看一下,org.hibernate.event.spi.EventType然后从该类中获取实际的事件类。但是,这些类的文档很少,并且休眠用户手册或开发人员指南也不提供任何内容(只是如何注册侦听器,但这实际上很简单)。
我已经尝试添加仅在调用它们时记录日志的侦听器,但是输出顺序有些混乱,我对在什么时候调用什么进行了假设。
注意:以下示例可能看起来很长且很抽象,并且试图说明我的问题。我只在这里谈论2个事件,而还有33个事件似乎没有记录。
有2位听众:
Called before injecting property values into a newly loaded entity instance.Defines the contract for handling of load events generated from a session.如您所见,JavaDoc至少提供的信息不多LoadEventListener。这两个事件实际上可能是指不同的情况,但是正如我已经说过的那样,我找不到任何文档。
侦听器也不总是以看起来相同的顺序被调用。我将两个侦听器添加到我们现有的一个Web应用程序中,从而获得了一些点击。
结果如下(抽象输出):
动作1输出
preload: entity of type A with id 0
Run Code Online (Sandbox Code Playgroud)
动作2输出
preload: entity of type A with id 1
load: entity of type A with id 1
preload: entity of type B with id 0
Run Code Online (Sandbox Code Playgroud)
动作3输出
preload: entity of type C …Run Code Online (Sandbox Code Playgroud)