小编Ros*_*rew的帖子

如何将系统属性传递给jar文件

我有一个主类,它期望我使用-D选项传递的某些属性.我可以通过将它们作为VM选项发送到我的IDE中来访问它.

我使用Maven将此应用程序打包到一个jar文件中,当我尝试以下操作时:

java -jar myjar.jar -Denviroment=dev

要么

java -jar myjar.jar "-Denvironment=dev"

环境系统属性没有被提升.

有关正在发生的事情的任何指示?

java jar properties system maven

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

Javadoc {@inheritDoc}标记类

我想使用{@inheritDoc}该类从我的抽象类继承方法.在抽象类的文档中,我按名称引用了抽象类.我如何标记这个,所以当子类从超类继承文档时,它用子类的名称替换抽象类的名称?

java javadoc inheritdoc

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

为什么JaCoCo不覆盖我的String switch语句?

我有一个switch声明从a String和我编写的单元测试中提取一个寻址模式来覆盖,我认为是每个可能性但JaCoCo似乎跳过我的switch陈述,导致覆盖率降低.

为什么,如果我的所有case语句(包括默认值)都在测试中执行,那么该switch语句是否会被计为命中?

(参见CodeCov中显示的测试结果)

在此输入图像描述

java junit switch-statement jacoco codecov

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

当JIT也编译字节码时,为什么Java既是编译语言又是解释语言?

我读到这一点,一个java源代码被编译成'字节码',然后由JIT再次'编译'成'机器码'.也就是说,首先将源代码编译成与平台无关的字节码,然后再将其编译为特定于机器的代码.那为什么它被称为解释和编译语言?解释发生在哪里?

java jit jvm interpreted-language

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

Java如何解决垃圾收集中的保留周期?

我知道保留周期(至少在Objective-C和Swift中)是两个对象声称彼此拥有(它们彼此引用).在Objective-C中,我们可以通过声明其中一个来解决问题weak.

根据我的阅读和理解,Java GC不受保留周期的影响,我们不必担心weak引用.它是如何解决的?

java garbage-collection

12
推荐指数
2
解决办法
2901
查看次数

ArrayList Generic没有Type

最近我读了一段对我来说很奇怪的代码.我们知道,当需要使用它们时,我们需要在集合中初始化泛型类型.此外,我们知道集合可以包含集合作为其元素.

代码:

public class Solution {
public static void main(String args[]) {
    ArrayList res = returnlist();
    System.out.print(res.get(0));
}
public static ArrayList<ArrayList<Integer>> returnlist() {
    ArrayList result = new ArrayList();
    ArrayList<Integer> content = new ArrayList<Integer>();
    content.add(1);
    result.add(content);
    return result;
}}
Run Code Online (Sandbox Code Playgroud)

我的问题是

  • 为什么我们可以ArrayList result = new ArrayList();用来创建一个对象,因为我们没有给集合提供实际的元素类型.
  • 为什么我们可以使用result.add(content);集合来添加集合"结果"只是一个简单的集合.我们没有把它定义为一个ArrayListArrayList

java generics arraylist

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

Java 8 - For Each和removeIf

我试图ForEach通过组合该removeIf方法使用Java 8中的操作来执行操作.但是我得到了错误.

我无法在以下程序中组合forEachremoveIf:

public class ForEachIterator {

    public static void main(String[] args) {
        List<Integer> ints = new ArrayList<Integer>();
        for (int i = 0; i < 10; i++) {
            ints.add(i);
        }
        System.out.println(ints);
        // Getting the Error in next line
        ints.forEach(ints.removeIf(i -> i%2 ==0));
        System.out.println(ints);
    }
}
Run Code Online (Sandbox Code Playgroud)

java lambda

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

Web应用程序如何转发到另一个Web应用程序?

我有两场静态大战,里面装满了由Jetty服务器提供的帮助文件和一个root上下文大战.

  • help.war - 英文帮助文件
  • help_CS.war - 捷克语帮助文件
  • ROOT.war

    根据请求的区域设置,我想将用户转移到与他们相关的语言.即用户请求/help/index.htm并且他们从捷克语语言环境请求时,他们得到/help_CS/index.htm.这个想法是可以根据需要添加语言包而不用太大惊小怪.

    我尝试添加一个自定义的RewriteHandler,在Jetty.xml中引用,它从Request中获取区域设置,并在handle()上转发或重定向.两人都抱怨,因为响应代码已经被发送了......不知怎的?!

    我在ROOT.war的web.xml中尝试了一个自定义Filter,无论我尝试的url-pattern有什么变化,我都无法匹配*/help/**.

    然后我添加了对上次尝试进入WEB-INF/web.xml的同一个过滤器的引用到我的help.war,它会匹配并且可以生成URLS但是我不能在此时重写URL,因为它始终是前置的通过/ help /所以帮助替换为help_CS的URL最终为domain/help/help_CS/index.htm.

    所以我的问题.应该如何/可以做到这一点?

java redirect web-applications jetty war

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

在shell脚本中将整个内容从文件夹复制到另一个文件夹

我正在尝试每个代码将文件夹中的所有内容复制到另一个但我无法做到!我正在尝试在我的Android设备中使用终端模拟器中的代码,因为我需要在我的应用程序中使用该代码.这是我使用的最后一个代码不起作用:

#!/bash/sh
srcdir="/data/app"
dstdir="/sdcard/prova1"

for f in ${srcdir}/*.apk
do
    cp $f $dstdir $dstfile
done
Run Code Online (Sandbox Code Playgroud)

终端说:

: not found
' unespectedsyntax error: 'do
Run Code Online (Sandbox Code Playgroud)

谁能帮我?这些可能性很好:

1)将/ data/app文件夹中的所有文件复制到/ sdcard/prova1

2)直接复制prova1中的文件夹应用程序

3)使用执行这两件事之一的java代码.

我有根,所以我可以做这个操作.

bash shell copy-paste

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

spock测试的where子句中的多个赋值?

我正在使用Spock框架进行测试,我在where子句中有关于多变量赋值的问题.

我有以下测试用例:

def "sending a message delegates to message sender"() {
  when:
    sendMessage(x,y)
  then:
    1 * messageSender.send(x,y)
  where:
    x << 1
    y << 2
}
Run Code Online (Sandbox Code Playgroud)

我想用一个赋值操作替换where子句中的多个变量赋值.我试过了:

where:
  [x,y] << [1,2]
Run Code Online (Sandbox Code Playgroud)

但得到了一个MissingMethod异常.我假设这是因为表达式[1,2]被视为数组而不是列表.

请注意以下工作:

where:
  [x,y] << [1,2].combinations()
Run Code Online (Sandbox Code Playgroud)

看起来combination()方法返回一个List类型,但是尽管以下方法不起作用:

where:
  [x,y] << [1,2].asList()
Run Code Online (Sandbox Code Playgroud)

使用combination()是违反直觉的,所以我想知道是否有一种简单,优雅的方式在Spock中初始化多个变量.

编辑:我正在使用spock版本0.7-groovy-2.0

groovy spock

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