小编Tit*_*ore的帖子

将Maven用于多个部署环境(生产/开发)

我在Maven中有一个Web应用程序,具有默认目录结构.没问题.默认目录结构有一些指向我的localhost数据库的属性文件.

目前,我使用以下命令创建一个Ant脚本来创建不同的war文件 - 一个用于生产,一个用于开发:

ant deploy-dev
ant deploy-prod
ant deploy-sit
ant deploy-uat
Run Code Online (Sandbox Code Playgroud)

所以基本上他们创建一个war文件,然后通过插入属性文件来更新war文件

在maven中有类似的东西(根据配置创建不同的战争)?

如果是的话,我该怎么做?

我试过mvn war但它只是创造了一场战争

maven-2

54
推荐指数
4
解决办法
8万
查看次数

在m2eclipse中缓存存储库索引

每当我从一个全新的工作空间开始,m2eclipse从maven中央存储库下载nexus-maven-repository-index.gz.这很好.但是,有时候,我只想启动一个新工作区,而不是等待它下载,它尝试将整个.metadata目录从旧工作区复制到新工作区,但是maven工件列表仍然是空的.有没有办法可以缓存它?或者至少下载一次文件,然后复制/解压/重新打包,以便m2eclipse认为它已经下载了它并允许我搜索maven工件.

或问题的简短版本以及以何种格式存储在工作区中的"nexus-maven-repository-index.gz"文件?

eclipse maven-2

9
推荐指数
1
解决办法
8983
查看次数

运行没有"catalog"属性的hibernate工具注释生成

当我运行我的hibernate工具时,它从db读取并为每个表创建java类,并为复合主键创建java类.那很棒.

问题是这一行

@Table(name="tst_feature"
    ,catalog="tstdb"
)
Run Code Online (Sandbox Code Playgroud)

虽然表名是必需的,但不需要"catalog"属性.有时我想使用"tstdb",有时候我想使用"tstdev"

我认为选择哪个数据库取决于jdbc连接url但是当我将jdbc url更改为指向"tstdev"时,它仍然使用"tstdb"

所以,我知道必须做什么,只是不知道我的选择是如何完成的

  • 抑制"目录"属性的生成目前我正在手动执行此操作(效率不高)或者我可以编写一个程序来解析java文件并手动删除该属性但我希望我不必

要么

  • 找到一种方法告诉hibernate忽略"catalog"属性并使用明确指定的模式.我不知道我必须改变的确切设置,或者即使该选项可用.

java code-generation annotations hibernate

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

Spring Tool Suite(STS)3.5.0 - org.codehaus.groovy.eclipse在求解器中是未知的

STS 3.5.0存在问题

https://issuetracker.springsource.com/browse/STS-3792

org.codehaus.groovy.eclipse 2.9.0.xx-201403261719-e43j8在解算器中未知!

这些是我修复它的步骤,它允许我使用eclipse市场

java eclipse groovy spring-tool-suite

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

如何评估struts 2:如果?

我有一个名为'item'的对象.它有一个叫'类型'的属性

当我这样做:

<s:property value="item.type" />
Run Code Online (Sandbox Code Playgroud)

我明白了:问:

好的,所以我可以读取值,但是当我尝试这个:

<s:property value="item.type == 'Q'" /> 
Run Code Online (Sandbox Code Playgroud)

我得到一个空字符串

这给我一个空字符串:

<s:property value="%{#item.type == 'Q'}" />
Run Code Online (Sandbox Code Playgroud)

我甚至试过这个:

<s:property value="item.type.equals('Q')" />
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个字符串:false

我如何得到'真实'?

struts2

5
推荐指数
1
解决办法
4万
查看次数

德米特对工厂模式和依赖注入的规律

我有一个关于依赖注入的问题.

说我想创建一个类调用它,WebGetTask

WebGetTask需要依赖HttpService

坏代码1代码:

private HttpService  httpService;
...   
List<WebGetTask> list = new ArrayList<WebGetTask>();   
for(...)   
{   
   list.add(new WebGetTask(httpService)); 
}
...
Run Code Online (Sandbox Code Playgroud)

好.我知道这很糟糕,因为注入了httpService,但它从未使用过,除了在新的WebGetTask上创建

好坏代码2代码:

private WebGetTaskFactory webGetTaskFactory;
...  
List<WebGetTask> list = new ArrayList<WebGetTask>();  
for(...)  
{   
    list.add(webGetTaskFactory.newTask());  
}  
...
Run Code Online (Sandbox Code Playgroud)

我认为这更好,因为我们使用工厂但......

从我所在的位置,我可以看到在WebGetTaskFactory中我们仍然注入一个HttpService并且没有对它做任何事情,除了创建一个新的WebGetTask的唯一目的

所以回顾一下我的问题是如何设计一个工厂类(WebGetTaskFactory),当新对象在其构造函数上需要依赖项(HttpService)而不是简单地注入和传递依赖项(HttpService)时,它会创建新对象(WebGetTask)?或者更确切地说,这是这样做的方式吗?如果是这样,那么一切都很好,如果不是,那么请指导我如何正确使用DI和工厂模式.谢谢.

dependency-injection law-of-demeter

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