相关疑难解决方法(0)

检查Git中是否需要拉

如何检查远程存储库是否已更改,我需要拉?

现在我使用这个简单的脚本:

git pull --dry-run | grep -q -v 'Already up-to-date.' && changed=1
Run Code Online (Sandbox Code Playgroud)

但它相当沉重.

有没有更好的办法?理想的解决方案是检查所有远程分支,并返回已更改分支的名称和每个分支的新提交数.

git bash shell

600
推荐指数
15
解决办法
34万
查看次数

如何使用Java打开命令提示符并插入命令?

是否可以打开命令提示符(我猜其他系统的任何其他终端),并在新打开的窗口中执行命令?

目前我拥有的是:

Runtime rt = Runtime.getRuntime();
rt.exec(new String[]{"cmd.exe","/c","start"});
Run Code Online (Sandbox Code Playgroud)

我尝试在"开始"之后添加下一个命令,我尝试运行另一个包含我的命令的rt.exec,但我找不到让它工作的方法.

如果重要,我正在尝试运行类似于此的命令:

java -flag -flag -cp terminal-based-program.jar
Run Code Online (Sandbox Code Playgroud)

编辑不幸的是我有一些奇怪的发现.我已经能够成功启动命令提示符并使用以下命令传递命令:

rt.exec("cmd.exe /c start command");
Run Code Online (Sandbox Code Playgroud)

但是,它似乎只能使用一个命令.因为,如果我尝试使用这样的命令分隔符"cmd.exe/c start command&command2",则第二个命令将通过后台传递(如果我刚使用rt.exec("command2")的话;) .现在问题是,我意识到我需要更改运行命令提示符的目录,因为如果我只使用jar文件的完整路径,则jar文件会错误地从命令提示符的活动目录中读取数据,而不是jar的目录,包含其资源.

java terminal command launch

38
推荐指数
3
解决办法
12万
查看次数

CreateProcess error = 2,系统找不到指定的文件

我正在用java编写一个程序,它将执行winrar并解压缩放入h:\myjar.jar文件夹中的jar文件h:\new.我的java代码就是这样的

import java.io.File;
import java.io.IOException;

public class MainClass {

    public static void main(String[] args) {

        Runtime r = Runtime.getRuntime();
        Process p = null;

        try {
            File dir = new File("C:/Program Files/WinRAR");
            p = r.exec("winrar x h:\\myjar.jar *.* h:\\new", null, dir);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我执行此操作时,我收到此错误

java.io.IOException: Cannot run program "winrar" (in directory "C:\Program Files\WinRAR"): CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessBuilder.start(Unknown Source)
    at java.lang.Runtime.exec(Unknown Source)
    at java.lang.Runtime.exec(Unknown …
Run Code Online (Sandbox Code Playgroud)

java process

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

如何通过java代码以编程方式生成apk文件

我需要通过一些Java程序生成或构建一个APK文件,我选择Android源项目.假设我在网页上有一个按钮.单击时,它会生成一个.apk文件.

我已经看到我们可以通过Ant和Gradle构建APK文件.但这贯穿命令shell.我不想在命令shell中这样做.我想写一个Java程序.或者也许我可以通过Java程序运行shell命令.

有人可以指导我吗?谢谢

感谢您提供的答案.对于那些答案,我需要通过Gradle或Ant.如果必须,我会这样做.但是,我正在寻找其他选择.

android apk

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

如何使用Android Intent以编程方式启动Instrumentation项目?

启动测试用例的一种方法是,

adb shell am instrument 
  -w com.google.vishal.test/android.test.InstrumentationTestRunner 
Run Code Online (Sandbox Code Playgroud)

我想用Android代码启动它(有意图)

例如,

adb shell am start -n com.google.android.contacts/.ContactsActivity
Run Code Online (Sandbox Code Playgroud)

我们可以通过以下方法使用Android intent运行: -

Intent intent = new Intent(com.google.android.contacts, ContactsActivity.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

但是,如何运行

adb shell am instrument 
  -w com.google.vishal.test/android.test.InstrumentationTestRunner 
Run Code Online (Sandbox Code Playgroud)

通过Android意图?

感谢您提前的帮助:-)

instrumentation android android-intent robotium android-activity

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

Java - 带有空格和双引号的 ProcessBuilder 命令参数失败

我正在使用 ProcessBuilder 运行 Windows 可执行文件...我需要运行的确切命令是:

"C:\Program Files\CCBU\CCBU.exe" -d"C:\My Data\projects\ccbu\ciccb-report.xls" -tf"C:\Program Files\CCBU\loss-billing-filters.txt"
Run Code Online (Sandbox Code Playgroud)

如果我从命令提示符运行上述命令,它工作正常。

如果我随后将命令和参数发出为 String [] 数组,如以下 StackOverflow 帖子(ProcessBuilder 在命令行中添加额外的引号)所示,则会失败,因为目录路径中的空格以某种方式破坏了 CCBU.exe 可执行文件的参数:

[log-snippet]
2015-08-31 10:39:08,937 [main] INFO  rpd.primary - C:\Program Files\CCBU\CCBU.exe
logging to the given report's directory
Configuration file is: ./CCBUConfigFile.txt
Running with the following settings:
Report Filepath:       C:\My
Search Terms FilePath: C:\Program

2015-08-31 10:39:08,948 [main] INFO  rpd.primary - STDERR:--------------------
2015-08-31 10:39:08,961 [main] INFO  rpd.primary - 
Warning: parameter Data\projects\ccbu\ciccb-report.xls not recognized. Ignoring

Warning: parameter Files\CCBU\loss-billing-filters.txt not recognized. Ignoring

Error: …
Run Code Online (Sandbox Code Playgroud)

java windows processbuilder

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

如何在Java中运行CMD

我是Java的新手,我需要在Java中运行CMD或Powershell,因为我想了解当前的RAM利用率和当前的磁盘分配。StackOverflow上有很多类似的问题,但我不明白。

这是我的代码,我从这里得到的:

package test;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) {
    }

    public static class CmdTest {
        public static void main(String[] args) throws Exception {
            ProcessBuilder builder = new ProcessBuilder(
                    "cmd.exe", "/c", "cd \"C:\\Program Files\\Microsoft SQL Server\" && dir");
            builder.redirectErrorStream(true);
            Process p = builder.start();
            BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line;
            while (true) {
                line = r.readLine();
                if (line == null) {
                    break;
                }
                System.out.println(line);
            }
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我只有一个空控制台,不知道为什么。

java cmd

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