小编ste*_*son的帖子

getter与setter与成员之间的JAXB注释之间的区别是什么?

标题说明了一切.

我想知道@XmlElement在字段/ getter/setter上放置JAXB注释(如)之间的主要区别是什么.在我看来(在简单的情况下)它并不重要.

我们拿这个吧

class A  {
    private String a;

    public String getA() { return a; }

    public void setA(String a) { this.a = a; }
}
Run Code Online (Sandbox Code Playgroud)

现在在我看来,如果我放置@XmlElement成员字段或getter/setter 并不重要.它只是编组好的.当我需要做出改变并且什么时候重要时,是否有任何用例?

当我去解组这个(xml回到A)JAXB具体做什么?

我正在使用JAXB MOXy实现

谢谢

java xml jaxb marshalling unmarshalling

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

AspectJ + Junit + Maven - 在测试中识别切入点但NoSuchMethodError:抛出aspectOf()异常

我已经在这里跟踪了几乎所有的JUnit + Maven + AspectJ问题,甚至我很确定我已经正确设置了所有内容,我无法测试它.

我有一个Maven模块只有一个方面:

@Aspect
public class AssertionAspect {

    @Pointcut("execution(@org.junit.Test * *())")
    public void testMethodEntryPoint() {}

    @Before("testMethodEntryPoint()")
    public void executeBeforeEnteringTestMethod() {
        System.out.println("EXECUTE ACTION BEFORE ENTERING TEST METHOD");
    }

    @After("testMethodEntryPoint()")
    public void executeAfterEnteringTestMethod() {
        System.out.println("EXECUTE ACTION AFTER ENTERING TEST METHOD");
    }
}
Run Code Online (Sandbox Code Playgroud)

非常简单.我想要做的就是在我的测试项目中每次执行任何测试方法之前和之后做一些事情@Test.

现在,我使用aspectj-maven-plugin我的<build>是这样的:

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>aspectj-maven-plugin</artifactId>
      <version>1.4</version>
      <configuration>
        <aspectLibraries>
          <aspectLibrary>
            <groupId>my.package</groupId>
            <artifactId>with-aspects</artifactId>
          </aspectLibrary>
        </aspectLibraries>
        <source>1.6</source>
        <target>1.6</target>
      </configuration>
      <executions>
        <execution>
          <goals>
            <goal>test-compile</goal>
          </goals>
          <configuration>
            <showWeaveInfo>true</showWeaveInfo>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build> …
Run Code Online (Sandbox Code Playgroud)

java junit aspectj maven aspectj-maven-plugin

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

我应该为什么原因嘲笑?

我也是Mockito和PowerMockito的新手.我发现我无法使用纯Mockito测试静态方法,因此我需要使用PowerMockito(对吗?).

我有一个非常简单的类,叫做Validate,这个方法非常简单

public class Validate {
        public final static void stateNotNull(
            final Object object,
            final String message) {
    if (message == null) {
        throw new IllegalArgumentException("Exception message is a null object!");
    }
    if (object == null) {
        throw new IllegalStateException(message);
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我需要验证:

1)当我在null消息参数上调用静态方法时,调用IllegalArgumentException
2)当我在null对象参数上调用静态方法时,调用IllegalStateException

从我到目前为止,我写了这个测试:

import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.isNull;

import org.junit.Before;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.testng.annotations.Test;

@RunWith(PowerMockRunner.class)
@PrepareForTest(Validate.class)
public class ValidateTestCase {

    @Test(expectedExceptions = { IllegalStateException.class })
    public void stateNotNullTest() throws Exception …
Run Code Online (Sandbox Code Playgroud)

java testing junit unit-testing mockito

6
推荐指数
2
解决办法
211
查看次数

Android上的pm clear和pm uninstall -k之间的区别

从下午的帮助,我明白了:

pm uninstall: removes a package from the system. Options:
    -k: keep the data and cache directories around after package removal.

pm clear: deletes all data associated with a package.
Run Code Online (Sandbox Code Playgroud)

这是否意味着当我pm uninstall(没有-k)它删除所有将pm clear删除的文件?或者换句话说,当我指定-k卸载命令时,它会保留未删除的文件.当我pm clear在该软件包上执行时,将被清除的文件正好是我未-k选择的选项吗?

有可能通过做pm uninstall和之后pm clear,我甚至可以删除一些尚未被删除的文件pm uninstall

android command adb

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

如何在Docker机器中将JMX从主机连接到Docker容器?

当我直接在主机上运行Docker容器时,可以毫无问题地连接到它.

我的主机有网络192.168.1.0/24,主机的IP地址是192.168.1.20.我的Docker容器的IP地址为172.17.0.2.当我从jconsole连接到172.17.0.2:1099时,它可以工作.

当我将此服务放入Docker机器时,无法连接到它.

我的Docker机器有IP 192.168.99.100,其中的容器有IP地址172.17.0.2但是当我使用jconsole连接到192.168.99.100:1099时它不起作用.

重复一遍:

192.168.1.20 --- 172.17.0.2:1099有效

192.168.1.20 ---(192.168.99.100 --- 172.17.0.2:1099)并从我的主机连接到192.168.99.100:1099不起作用.

值得一提的是,我可以通过Docker机器的外部IP地址访问Docker机器中的容器化服务,例如,这将起作用:

192.168.99.100 ---(192.168.99.100:8080 --- 172.17.0.2:8080)

但是当我使用JMX时,它就无法正常工作.

这是Tomcat服务.我在启动Tomcat实例的脚本中有这个:

CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n \
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.rmi.port=1099 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname=IP address of Docker container 
Run Code Online (Sandbox Code Playgroud)

networking tomcat jmx docker docker-machine

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

Windows PowerShell - 要运行的数组

我有这个让我发疯的问题:

我有一个像这样的功能

function xyz
{
    foreach($x in $input)
    {
    }
}

1..10 | xyz
Run Code Online (Sandbox Code Playgroud)

这保存在test.ps1文件中.当我每次写入时都像".\ test.ps1"那样执行它

cmdlet Write-Output at command pipeline position 1
Supply values for the following parameters:
InputObject[0]:
Run Code Online (Sandbox Code Playgroud)

为什么会这样?如果我愿意,它不起作用

$myArray = @("a","b","c")
xyz -arr $myArray
Run Code Online (Sandbox Code Playgroud)

并做一个像

function xyz
{
    param(
        [string[]]$arr
    )

    foreach($x in $arr)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么?

windows powershell powershell-3.0

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