小编jav*_*y79的帖子

JNI的用处

我已经成为一名java开发人员已有几年了,并且听说过你可以用JNI做一些非常有用和强大的东西.我不知道我是不是需要使用它,或者它与我的关系不是很相关; 但我根本不需要触摸它.

我想知道Java这方面的用处是什么.例子很棒.

java java-native-interface interop

8
推荐指数
1
解决办法
1943
查看次数

Maven组装:组装

您好我正在尝试在我的父pom中创建一个自定义描述符ref,它将所有依赖项与源包装在一起.我把assembly.xml很好地固定下来,但当我将它添加到我的基本POM程序集时:程序集失败如下:

[INFO] [assembly:assembly]
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error reading assemblies: No assembly descriptors found.

[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Error reading assemblies: No assembly descriptors found.
Run Code Online (Sandbox Code Playgroud)

但汇编:单身似乎工作正常.我已经尝试将jar-with-dependencies ref添加到POM中,但我不确定这是否可行.

这是我在我的基础pom中所拥有的:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2-beta-3</version>
    <dependencies>
        <dependency>
            <groupId>mycompany.jar.assembly</groupId>
            <artifactId>jar-with-dependencies-and-sources-test</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
            <configuration>
                <descriptors>
                    <descriptor>assembly.xml</descriptor>
                </descriptors>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

当我调用mvn程序集时,有没有人知道是谁让这个工作:从命令行汇编?

提前致谢.

java maven-2 assemblies

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

Maven发布属性

当我们发布项目时,它通常每次都是相同的.是否有任何参数或属性可以添加到发布中:准备允许以批处理模式释放模式?

例:

What is the release version for "MyProject"? (company.jar.site:myproject) 0.0.1: : 
What is SCM release tag or label for "MyProject"? (company.jar.site:myproject) MyProject-0.0.1: : 
What is the new development version for "MyProject"? (company.jar.site:myproject) 0.0.2-SNAPSHOT: : 

做这样的事情会很好:

mvn -B release:perform -DreleaseVersion:$nextMinorVersion$ or
mvn -B release:perform -DreleaseVersion:$nextPatchVersion$ or
mvn -B release:perform -Dtag:v$nextPatchVersion$ or
mvn -B release:perform -Dtag:v$nextPatchVersion$-someCustomNaming 

如果这样的东西还不存在,我将创建一个自定义Mojo来实现.

或者,在上面的提示中,我们通常默认为第一个问题,第二个是"v"+当前版本,最后一个是下一个.如果我们能以某种方式修改这些,那将解决当前的问题.

提前致谢.

java maven-2 release

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

Mockito抱怨​​错误的论点

我们尝试使用Mockito验证操作的行为.测试代码看起来像这样

final Type1 mock = mock(Type1.class);
new SomeAction<Type1>(mock).actionPerformed(null);

verify(mock).someMethod();
Run Code Online (Sandbox Code Playgroud)

actionPerformed方法只包含对Type1构造函数中提供的对象的someMethod调用.然而,Mockito抱怨​​没有发生预期的方法调用,而是发生了不同的方法调用.但是Mockito打印的两个电话的字符串表示完全一样!

有什么解释是怎么回事?

更新:Mockito的ErrorMessage

Argument(s) are different! Wanted:
type1.someMethod();
-> at xxx
Actual invocation has different arguments:
type1.someMethod();
-> at xxx
Run Code Online (Sandbox Code Playgroud)

java testing verify mockito

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

在assertEquals()中使用regexp不起作用

我在assertEquals()语句中使用regexp时遇到问题.这是声明.

Assert.assertEquals("regexp:*TST-*[0-9]{5}", driver.getTitle());
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

org.junit.ComparisonFailure: expected:<[regexp:*TST-*[0-9]{5}]> but was:<[[#TST-23570] This is the new summary]>
Run Code Online (Sandbox Code Playgroud)

看起来regexp只是一个被比较的字符串.我错过了什么?

java regex selenium assert selenium-webdriver

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

在Windows中更改JAVA_HOME系统变量的脚本

我做的大部分工作都是针对JDK 1.5的 - 但偶尔我必须改为1.6.每当我需要处理特定于一个或另一个的项目时,必须手动去改变我的'JAVA_HOME'系统变量有点痛苦(不,Eclipse在这些场景中不能很好地发挥作用 - 相信我...... .我试过了.)

我正在寻找一个注册表脚本或Windows shell脚本,或者就此而言,我可以用一些易于运行的东西"切换"这个系统变量.

我已经搞乱了'set'命令,但是它只为该特定命令实例设置变量 - 不是全局的.

提前致谢.

编辑#1:建议点:

  • 在路径变量中也使用JAVA_HOME变量,这样你只需要改变JAVA_HOME(无论如何在许多项目中使用[maven,ant等])
  • 将命令写入几个批处理脚本以便于使用
  • 进行更改时,Windows命令会话不会立即反映出来.你必须关闭并重新打开它.

java scripting path system-variable

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

Eclipse与ant的build.xml所做的文件系统更改不同步

我们有一个非常大的项目.我们使用ant来设置环境.在ant脚本中发生的事情之一是将jar复制到项目的lib文件夹中.然后,我们使用ant任务:eclipse.refreshLocal和eclipse.incrementalBuild,这样现在复制的jar将解决引用它的项目中的编译问题.

不幸的是,项目似乎与文件系统不同步.Project> properties> build path显示jar存在(可能是在查看属性时刷新的信息)但incrementalBuild没有按照我们的预期执行.

此外,有时一个依赖于这个jar的项目,我们刷新并构建它(通过ant)只有一个编译错误:"在解决构建路径错误之前,项目无法解决".在其他时候,有许多编译错误表明项目没有注意到新的jar.

当我通过eclipse构建它时,它没问题.

我担心项目之间可能存在循环依赖关系,但似乎没有这样的依赖关系(构建属性:循环依赖关系选项设置为"错误",并且项目中没有此形式的错误).

有人对这个问题很熟悉吗?处理这个问题的正确方法是什么?

谢谢您的帮助.

java eclipse ant

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

bash脚本执行顺序

bash 脚本中的行是否按顺序执行?我看不出有什么理由不这样做,但我对 bash 脚本确实很陌生,而且我有几个命令需要按顺序执行。

例如:

#!/bin/sh
# will this get finished before the next command starts?
./someLongCommand1 arg1
./someLongCommand2 arg1
Run Code Online (Sandbox Code Playgroud)

bash scripting

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

当startActivity意图完成时android通知?

我需要能够判断一个衍生活动(通过意图)何时完成,我该怎么做?

这就是我所拥有的:

    alertDialog.setButton2("Text", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            String uri = "smsto:" + "";
            Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse(uri));
            intent.putExtra("sms_body", PASSWORD_GENERATOR
                    .generatePasswordForSeed(seedText, hourToUse));
            intent.putExtra("compose_mode", true);

            // -- open the text message activity
            startActivity(intent);

            // -- I need to reset the calling activity now, but AFTER the text message activity has completed. Right now the SMS closes right away as I have no wait in...
            finish();
            startActivity(getIntent());
        }
    });
Run Code Online (Sandbox Code Playgroud)

编辑#1

根据以下建议,我做了一些修改.然而,现在,一旦文本被发送,启动的SMS活动就"坐在那里".我无法弄清楚如何让它返回到调用活动.这就是我所拥有的:

alertDialog.setButton2("Text", new DialogInterface.OnClickListener() …
Run Code Online (Sandbox Code Playgroud)

android android-activity

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

在Clojure中的列表/序列中添加项目

必须有一个简单的方法来做到这一点,我显然想念它:|

如何在clojure中的列表\序列中添加项目(区别不明确)?

我尝试过以下方法:

Clojure> (add [1 2 3])
java.lang.RuntimeException: Unable to resolve symbol: add in this context
Clojure> (+ [1 2 3])
java.lang.ClassCastException: Cannot cast clojure.lang.PersistentVector to java.lang.Number
Clojure> (apply merge-with + [1 2 3])
java.lang.IllegalArgumentException: Don't know how to create ISeq from: java.lang.Long
Clojure> (add-items [1 2 3])
java.lang.RuntimeException: Unable to resolve symbol: add-items in this context
Run Code Online (Sandbox Code Playgroud)

clojure

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