假设我想在我的项目中添加guice-assistedinject作为依赖项.它将guice工件指定为依赖本身.如何告诉它使用no_aop版本的guice?
我知道我可以做到以下几点,但我可以一步完成而不排除guice模块吗?
dependencies {
compile (group: 'com.google.inject.extensions', name: 'guice-assistedinject', version: '3.0') {
exclude module: 'guice'
}
compile group: 'com.google.inject', name: 'guice', version: '3.0', classifier: 'no_aop'
}
Run Code Online (Sandbox Code Playgroud) java dependency-injection guice dependency-management gradle
我们通过电子邮件与我们合作的公司提供了wsdl和xsd架构.我们正在连接的Web服务是通过IPsec隧道访问的.在已发布的WSDL中有本地引用(在它们的末尾),这意味着我们不能使用它.
第一个问题:这是一个常见的设置吗?我认为拥有WSDL不仅要定义合同,还要将服务公开给消费者.
我可以使用wsimport,wsconsume等轻松生成提供的WSDL的客户端/服务器代码.我知道当我生成的客户端调用我生成的服务时,它会生成我需要的正确消息.
第二个问题:有没有简单的方法将其路由到不同的肥皂地址?
我只是希望能够做到这样的事情:
SalesTaxService svc = new SalesTaxService();
SalesTax tax = svc.getSalesTaxPort()
tax.getRate("NY");
Run Code Online (Sandbox Code Playgroud)
但是不要使用WSDL中定义的soap地址.我想避免为每种方法编写一堆调度客户端.
我错过了什么吗?
*回应skaffman:这是生成的.它违反了wsdlLocation的名字耸耸肩
@WebServiceClient(name = "SomeService")
public class SomeService_Service extends Service {
public SomeService_Service(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
public SomeService_Service(URL wsdlLocation) {
super(wsdlLocation, new QName("urn:some_service", "SomeService"));
}
}
Run Code Online (Sandbox Code Playgroud) 只是一个我一直在遇到的概念性问题.在我目前的项目中,我觉得我过度使用了boost smart_ptr和ptr_container库.我boost::ptr_vectors
在许多不同的对象中创建并调用transfer()方法将某些指针从一个移动boost::ptr_vector到另一个.
我的理解是,清楚地显示堆分配对象的所有权非常重要.
我的问题是,是否需要使用这些boost库来创建属于对象的堆分配成员,然后get()在进行任何处理时使用通常指向这些成员的指针.
例如......游戏可能有一组属于它的Tiles.创建这些瓷砖可能是有意义的boost::ptr_vector.当游戏结束时,应自动释放这些图块.
但是,如果我想暂时将这些Tiles放在Bag对象中,我是否应该boost::ptr_vector在包中创建另一个Tile并将游戏的Tiles转移到Bag上,transfer()或者我应该创建一个std::vector<Tile*>Tiles*引用游戏中的Tiles并传递给去袋子?
谢谢.
**编辑我应该指出,在我的例子中,Game会有一个Bag对象作为成员.袋子只会填充游戏所拥有的瓷砖.所以如果没有游戏,Bag就不会存在.