Tag: bash

在OpenNLP中培训命名实体

我想为印度名字训练一个语料库: class NameTraining { public static void TrainNames() throws IOException { Charset charset = Charset.forName(“UTF-8”); FileReader fileReader = new FileReader(“train.txt”); ObjectStream fileStream = new PlainTextByLineStream(fileReader); ObjectStream sampleStream = new NameSampleDataStream(fileStream); TokenNameFinderModel model = NameFinderME.train(“pt-br”, “train”, sampleStream, Collections.emptyMap()); NameFinderME nfm = new NameFinderME(model); } public static void main(String args[]) throws IOException { NameTraining det = new […]

如何使用bash将文件重定向为Java程序的输入?

我的代码大致如下所示: InputStreamReader isReader = new InputStreamReader(System.in); BufferedReader bufReader = new BufferedReader(isReader); while (true) { try { String inputStr = null; if ((inputStr=bufReader.readLine()) != null) { //DO SOMETHING } else { System.out.println(“input is null”); } } catch (Exception e) { //DO SOMETHING } } 当我跑 java -classpath ../src test.TestProgram < filename 它处理文件中的第一行,但它保持打印input is null ,永远不会进入第二行。 如何修改程序以告诉它让错误输入转到下一行? […]

如何从java代码运行sed命令

我可能遗漏了一些东西,但我正试图从java运行命令行 代码如下: String command = “sed -i ‘s/\\^@\\^/\\|/g’ /tmp/part-00000-00000”; ProcessBuilder pb = new ProcessBuilder(command); pb.redirectErrorStream(true); Process process = pb.start(); process.waitFor(); if (process.exitValue() > 0) { String output = // get output form command throw new Exception(output); } 我收到以下错误: java.lang.Exception: Cannot run program “sed -i ‘s/\^@\^/\|/g’ /tmp/part-00000-00000”: error=2, No such file or directory fils存在。 我正在这个文件上做它并且它存在。 我只是想找到一种方法让它在java中运行。 […]

自动检测错误log4j静态初始化的方法

(请注意,它更像是一个Bash问题,而不是Java问题,请参阅下面的注释) 在每个类中配置log4j时,我们执行以下操作: public class Example { private static final Logger log = Logger.getLogger( Example.class ); 问题是我们现在有一个中等大小的代码库(200K LOC),其中包含许多Java类和…相当一些错误配置的log4j记录器。 这是因为人们(包括我,我承认),愚蠢地削减了’n’paste,有时会导致: public class Another { private static final Logger log = Logger.getLogger( Example.class ); 而繁荣,而不是拥有Another.class ,它是旧的Example.class留下,因此错误地出现在日志中(因此引起了不少令人头疼)。 我发现这种错误配置可能会发生但有些奇怪,但现在我们的主要问题不是它可能发生,而是我们必须修复错误的记录器。 我们怎样才能自动检测这些? (修复可以是手动的,但我想找到一种方法来查找log4j配置错误的所有类)。 例如,Bash shell脚本非常受欢迎。 对于每个.java文件 找到每个“class级XXX” 解析下一个’x’行(比如20) 有没有Logger.getLogger(…)行? 如果是,它是否与“XXX级”匹配? 如果没有报道 假阳性不是问题所以如果解析了一些虚假的“类XXX”并不是问题。 注意 :问题实际上是我们现在有200 000行代码,我们想自动检测违规(修复可以是手动)所以问题与以下内容不同: [有没有更好的方法来获取java中的当前类变量? 1 实际上它可能更像是一个Bash问题而不是Java问题:) 对此最热烈的帮助。

如何使用jenkins将spring boot jar文件部署到EC2?

我正在尝试将Spring启动应用程序部署到AWS EC2实例。 我已经看到很多博客和教程完全解释了部署过程,这是可以理解的。 我正在努力如何在jenkins中进行持续部署或交付,其中主要function是春季启动应用程序名称或jar文件名称更改该时间。 我的管道 pipeline { agent any tools{ maven ‘localmaven’ } stages { stage(‘Build’) { steps { sh ‘mvn clean package’ } post { success { echo ‘Now Archiving…’ archiveArtifacts artifacts: ‘**/target/*.jar’ } } } stage(‘Deliver’) { steps { sh ‘scp -v -o StrictHostKeyChecking=no -i /var/lib/jenkins/secrets/mykey target/*.jar ubuntu@00.00.00.00:/home/ubuntu’ sh “sshpass -p password ssh […]

如何从命令行停止OSGI应用程序

我有一个运行的osgi(equinox容器)应用程序。 它将通过bash脚本启动。 见felix gogo shell java -jar … _osgi.jar -console 1234 & 这一切都很好,我也可以阻止它 telnet localhost 1234 stop 0 但我正在寻找的是如何将其嵌入到bash脚本中以停止osgi应用程序。 我已经试过了 echo stop 0 | telnet localhost 1234 但这不起作用。 因此,如果有人知道如何将其放入bash脚本中,请告诉我。

从java调用shell,它抱怨“stty:标准输入:无效的参数”

我从java调用Process类的shell命令并打印 “stty: standard input: Invalid argument” 无论命令是对还是错(也显示了shell命令的正常输出)。 如果我在shell中运行shell命令,则不会显示此类错误消息。 命令是这样的: {“/bin/csh”, “-c”, “echo hello”}

使用java中的参数执行shell脚本

我一直在谷歌搜索,每个人似乎有一个不同的解决方案,其中没有一个似乎对我有用。 我已经尝试过ProcessBuilder和Runtime 。 两者都直接调用.sh文件并将其提供给/bin/bash 。 没有运气。 回到基础,我目前的代码如下; String cmd[] = { “~/path/to/shellscript.sh”, “foo”, “bar” }; Process p = Runtime.getRuntime().exec(cmd); 尽管手动运行,但是No such file or directory错误; ~/path/to/shellscript.sh foo bar 从bash完美运作。 我需要保留~因为这个shellcript以三种不同用户的略有不同的forms存在。

用Linux读取USB读卡器? OMNIKEY CardMan 3121 USB

我有这款OMNIKEY CardMan 3121 USB,这是一款读卡器,如阅读比利时身份证。 我现在把它连接到USB上的Ubuntu。 如何在Linux下使用BASH或Python或Java或C读取卡数据? 使用lsusb/dmesg我可以看到以下内容。 Bus 003 Device 032: ID 076b:3021 OmniKey AG CardMan 3121 [364695.783762] usb 3-2: new full-speed USB device number 32 using xhci_hcd [364695.805281] usb 3-2: New USB device found, idVendor=076b, idProduct=3021 [364695.805288] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [364695.805292] usb 3-2: Product: Smart Card Reader USB […]

从命令行运行Android Junit测试

我希望能够从命令行运行Junit测试,但是当我运行此命令时 java -cp /usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name] 我得到的只是 OK (0 tests) 它是否与Android项目有关? 我之前运行过这个命令并且没有太多问题。