我刚刚在我的Gradle项目中添加了一个新的测试源目录,并希望IntelliJ能够识别它.我可以关闭项目并重新打开build.gradle文件并选择"删除现有项目并导入"; 有没有办法更新模块源而不删除现有项目?
idea {
module {
// just added these two lines
testSourceDirs += file('src/integration-test/java')
testSourceDirs += file('src/integration-test/resources')
}
}
Run Code Online (Sandbox Code Playgroud)
我不想只是手动添加源代码,而是希望IntelliJ从'build.gradle'文件重新导入Gradle项目结构.
详细信息: Gradle v1.7,IntelliJ v12
我正在使用一个外部库,需要我使用XML Bean定义来配置它; 在Bean定义中,我需要从我的项目中提供一个带有Bean的外部类.我正在使用带有组件扫描的spring注释.
如何在XML Bean定义中引用带注释的Bean?
有没有替代方法来创建XML Bean定义?
详细信息: Spring 3.0.7
是否有可能改变代码生成模板equals()和hashCode()?
我希望生成的代码将Java 7 Objects类用于这些方法.
我正在尝试使用protobuf序列化结构.经过几个小时试图弄清楚我做错了什么我决定测试google的例子,但是效果并不好
我有以下谷歌协议(https://developers.google.com/protocol-buffers/docs/javatutorial):
package tutorial;
option java_package = "com.example.tutorial";
option java_outer_classname = "AddressBookProtos";
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
repeated PhoneNumber phone = 4;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}
}
message AddressBook {
repeated Person person = 1;
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将其序列化:
Person john …Run Code Online (Sandbox Code Playgroud) 当我运行"dependencies"任务时,有几个部分:compile,runtime,testCompile ......
其中一个部分是"默认 - 默认工件的配置".这部分是什么以及它用于什么?
如何更改"默认配置"中的内容?
细节: Gradle 1.7
看看下面的代码,我只希望调用getSand()发生一次,但是测试失败,只有四次调用.这些电话在哪里发生?我想写一个测试来确保只进行一次调用getSand().
资源
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class DeepSandTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
SandBox mockSandBox;
@Test
public void should(){
when(mockSandBox.getSand().doA()).thenReturn(1);
when(mockSandBox.getSand().doB()).thenReturn(1);
when(mockSandBox.getSand().doC()).thenReturn(1);
DeepSand deepSand = new DeepSand(mockSandBox);
deepSand.getTipple();
verify(mockSandBox, times(1)).getSand();
}
public class DeepSand{
private SandBox sandBox;
public DeepSand(SandBox sandBox) {
this.sandBox = sandBox;
}
public void getTipple(){
Sand sand = sandBox.getSand();
sand.doA();
sand.doB();
sand.doC();
}
}
public interface SandBox{ …Run Code Online (Sandbox Code Playgroud) 在maven中,我可以为依赖项解析指定"类型".我想拉下来tests.jar.我怎么能用Gradle做到这一点?
我已尝试使用下面的Gradle Dependency,但这并没有下拉test.jar.
testCompile(group: 'org.apache.hbase', name: 'hbase', version: '0.94.2', type: 'test-jar')
Run Code Online (Sandbox Code Playgroud)
Maven依赖:
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>0.94.2</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
细节: Gradle 1.7
我试图从Maven Central下载 "hbase-0.94.2-tests.jar"
我不断得到以下堆栈跟踪,我不确定它的含义.
Caused by: com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group tag did not match expected tag.
at com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:73)
at com.google.protobuf.CodedInputStream.checkLastTagWas(CodedInputStream.java:124)
at com.google.protobuf.AbstractMessageLite$Builder.mergeFrom(AbstractMessageLite.java:189)
at com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:732)
at com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:238)
at com.google.protobuf.AbstractMessageLite$Builder.mergeFrom(AbstractMessageLite.java:178)
at com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:724)
Run Code Online (Sandbox Code Playgroud)
我可以使用VirtualBox驱动程序创建一个Docker实例,但我无法弄清楚如何指定URL.
创建命令:
docker-machine create --driver virtualbox myBox
Run Code Online (Sandbox Code Playgroud)
docker-machine ls:
NAME ACTIVE DRIVER STATE URL SWARM
myBox * virtualbox Running tcp://192.168.99.100:2376
Run Code Online (Sandbox Code Playgroud)
我希望URL成为特定的URL.如何强制Docker实例使用特定的URL(例如:192.168.99.113)?
详细信息: Mac 10.10.5使用Docker Toolbox
我尝试使用该--virtualbox-hostonly-cidr命令设置docker机器的IP范围; 我指定了一个IP地址范围("192.168.99.113/32"),但创建的机器的IP为192.168.99.100,超出了我提供的范围.
是否可以设置具有特定IP地址的泊坞机?
当IntelliJ打开build.gradle文件时,它将生成一个IntelliJ项目,其中Gradle依赖项已解析并添加到项目范围.这对于"编译"源集和"测试"源集非常有用,但是我无法使其适用于自定义源集.
我希望IntelliJ解析componentTest源集的依赖关系.如何告诉IntelliJ解决这些依赖关系并将其添加到范围?
dependencies {
// main source set, "compile" scope in IntelliJ
compile(group: 'com.google.guava', name: 'guava', version: '18.0')
// test source set, "test" scope in IntelliJ
testCompile(group: 'junit', name: 'junit', version: '4.11')
// my custom source set, not added to any scope in IntelliJ
componentTestCompile(group: 'org.springframework', name: 'spring', version: '3.0.7')
}
Run Code Online (Sandbox Code Playgroud)
详细信息: IntelliJ 13.1.2,Gradle 1.11
java ×6
gradle ×4
containers ×1
dependencies ×1
docker ×1
maven ×1
mockito ×1
spring ×1
spring-3 ×1
unit-testing ×1
virtualbox ×1