小编Mik*_*der的帖子

Intellij重新导入Gradle项目

我刚刚在我的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

project-structure intellij-idea gradle

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

在XML Bean定义中引用带注释的Spring组件

我正在使用一个外部库,需要我使用XML Bean定义来配置它; 在Bean定义中,我需要从我的项目中提供一个带有Bean的外部类.我正在使用带有组件扫描的spring注释.

如何在XML Bean定义中引用带注释的Bean?

有没有替代方法来创建XML Bean定义?

详细信息: Spring 3.0.7

spring spring-annotations spring-3

22
推荐指数
2
解决办法
2万
查看次数

是否可以为equals()和hashCode()更改IntelliJ的代码生成模板

是否有可能改变代码生成模板equals()hashCode()

我希望生成的代码将Java 7 Objects类用于这些方法.

java code-generation intellij-idea

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

使用protobuf进行序列化时出错

我正在尝试使用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)

java serialization protocol-buffers

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

Gradle:什么是默认配置以及如何更改它

当我运行"dependencies"任务时,有几个部分:compile,runtime,testCompile ......

其中一个部分是"默认 - 默认工件的配置".这部分是什么以及它用于什么?

如何更改"默认配置"中的内容?

细节: Gradle 1.7

gradle

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

Mockito:验证模拟(使用"RETURNS_DEEP_STUBS")返回比预期更多的调用

看看下面的代码,我只希望调用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)

java mockito

17
推荐指数
2
解决办法
3万
查看次数

如何使用Gradle拉Maven测试罐?

在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"

java dependencies unit-testing gradle maven

17
推荐指数
2
解决办法
3375
查看次数

协议消息端组标记与预期标记不匹配

我不断得到以下堆栈跟踪,我不确定它的含义.

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)
  • "协议消息端组标记与预期标记不匹配".意思?
  • 什么是"消息端组标签"?
  • 这是在某处记录的吗?

java protocol-buffers

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

如何使用docker-machine和VirtualBox创建具有特定URL的docker机器?

我可以使用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地址的泊坞机?

containers virtualbox virtual-machine docker docker-machine

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

如何让IntelliJ解决自定义源集的Gradle依赖关系?

当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 intellij-idea dependency-management gradle

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