小编PAX*_*PAX的帖子

MINGW Git bash中的Maven错误:无法找到或加载主类org.codehaus.plexus.classworlds.launcher.Launcher

我知道这个问题已在几个问题中讨论过,但没有答案解决了我的具体问题.

我已经安装了Git bash和Maven,我正在尝试用Git bash执行Maven.它与上述错误一起中止.

我的系统环境:

Windows 7
Git 2.13.3
Maven 3.5.0
Run Code Online (Sandbox Code Playgroud)

所需的用户变量:

HOME=%HOMEPATH%
M3_HOME=%MAVEN_HOME%
MAVEN_HOME=path-with-no-blanks
Path=%MAVEN_HOME%\bin
Run Code Online (Sandbox Code Playgroud)

Maven在Windows命令提示符和Cygwin上运行正常.只有基于MINGW的Git bash失败.

我检查了下面的bash脚本mvn:C:\path\to\maven\bin

通过设置日志输出并检查MAVEN_HOME值何时丢失,我发现它被这些语句清除(偶数JAVA_HOME):

# For MinGW, ensure paths are in Unix format before anything is touched !!!HERE MAVEN_HOME value is getting lost!!!
if $mingw ; then
  [ -n "$MAVEN_HOME" ] &&
    MAVEN_HOME=`(cd "$MAVEN_HOME"; pwd)`
  [ -n "$JAVA_HOME" ] &&
    JAVA_HOME=`(cd "$JAVA_HOME"; pwd)`
  # TODO classpath?
fi
Run Code Online (Sandbox Code Playgroud)

在另一台Windows机器(不同版本的Maven和Git)上,相同的行有点不同:

M2_HOME="`(cd "$MAVEN_HOME"; pwd)`"
Run Code Online (Sandbox Code Playgroud)

代替:

MAVEN_HOME=`(cd "$MAVEN_HOME"; pwd)`
Run Code Online (Sandbox Code Playgroud)

首先,我认为这是由于引用字符的种类.但是工作的Windows机器甚至可以运行我失败的Windows机器上的新脚本.我也尝试安装旧的Git或更老的Maven - …

windows bash mingw maven

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

Eclipse Mars:Content Assistant在按下点时无法完成

当我键入局部变量名称的第一部分并按Ctrl+ Space以显示内容助手时,它会显示变量的全名并预先选择它.

在Eclipse Luna版本中,如果您按下.键盘并且内容助手显示此变量实例的所有可访问成员,则会插入全名.

使用Eclipse Mars,它会在不完整的变量名后直接插入点.

如何将此行为切换回Eclipse Luna?

public class A {
    public int member;

    public void possiblyAll(){

    }
}

public class Test {
    private A aMemberNameWhichIsLong_1;

    private A aMemberNameWhichIsLong_2;

    private A aMemberNameWhichIsLong_3;

    public static void main(String[] args) {
        Test t = new Test();
        t.amem
    }
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,插入符号位于之后t.amem.Ctrl+ Space显示全名.按.关闭内容助手并生成以下代码:t.amem.

在Luna,它是: t.aMemberNameWhichIsLong_1.

java eclipse code-completion eclipse-mars

8
推荐指数
2
解决办法
2590
查看次数

Monaco Diff Editor 是否能够将 Diff 数据格式作为输入?

我指的是摩纳哥差异编辑器:只需向下滚动:https : //microsoft.github.io/monaco-editor/index.html

如官方代码示例(https://github.com/microsoft/monaco-editor-samples/blob/master/browser-amd-diff-editor/index.html)所示,该模型需要两个模型作为输入:一个模型原始数据和要与之比较的数据的一种模型:

            diffEditor.setModel({
                original: monaco.editor.createModel(originalTxt, 'javascript'),
                modified: monaco.editor.createModel(modifiedTxt, 'javascript'),
            })
Run Code Online (Sandbox Code Playgroud)

我的问题是:是否也可以传递已经创建的差异而不是原始数据和修改后的数据?就像是:

--- /srv/qc/reference.xml   2019-05-16 08:30:10.837000000 +0000
+++ /srv/qc/candidate.xml   2019-05-16 08:30:10.833000000 +0000
@@ -1,28 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <root-element xmlns="http://www.example.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0" xsi:schemaLocation="http://www.example.com callback_reply.xsd">
   <reply>
     <status code="10301" severity="I" msg="DemoDCP called"/>
     <dataApp>
       <var id="ZZ_ZZ_ZZ_TXV_CONTACT_CITY" f="X" v="Stuttgart"/>
       <var id="ZZ_ZZ_ZZ_TXV_CONTACT_ZIP_CODE" f="X" v="70178"/>
       <var id="ZZ_ZZ_ZZ_TXV_CONTACT_COUNTRY" f="X" v="Deutschland"/>
-      <var id="ZZ_ZZ_ZZ_TXV_CONTACT_GENDER" f="X" v="f"/>
+      <var id="ZZ_ZZ_ZZ_TXV_CONTACT_GENDER" f="X" v="m"/>
       <var id="ZZ_ZZ_ZZ_TXV_CONTACT_PHONE" f="X" v="#PHONE Value#"/>
       <var id="ZZ_ZZ_ZZ_TXV_CONTACT_FAX" f="X" v="#FAX Value#"/>
       <var id="ZZ_ZZ_ZZ_TXV_CONTACT_EMAIL" …
Run Code Online (Sandbox Code Playgroud)

javascript diff monaco-editor

5
推荐指数
0
解决办法
493
查看次数

Selenium Web Driver:提取的 Chrome 浏览器日志不完整

我正在 Selenium 的帮助下为 Vaadin 应用程序编写浏览器测试。开发实用程序中的 Chrome 浏览器日志控制台显示不同日志级别(跟踪、严重、警告)的日志。以下代码设置了我的测试驱动程序:

@RunOnHub
public abstract class SmokeTestCase extends ParallelTest {
    ...
        final ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.setHeadless(false);
        final LoggingPreferences logPrefs = new LoggingPreferences();
        logPrefs.enable(LogType.BROWSER, Level.ALL);
        chromeOptions.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
        setDriver(new ChromeDriver(chromeOptions));
    ...
Run Code Online (Sandbox Code Playgroud)

我的 Vaadin 应用程序在 DEV 模式下运行。使用以下代码,我试图通过测试驱动程序检索所有浏览器日志:

final LogEntries entries = this.driver.manage().logs().get(LogType.BROWSER);
for (LogEntry entry: entries) {
  System.out.println(entry);
  final String line = String.format("[%s] - %s - %s", entry.getLevel().getName(), entry.getTimestamp(), entry.getMessage());
  if (entry.getLevel() == Level.SEVERE) {
    System.err.println(line);
  } else {
    System.out.println(line);
  }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我只收到警告和严重。缺少信息和跟踪。我究竟做错了什么?

我的方法与此类似:如何使用 Selenium …

java selenium webdriver selenium-webdriver chrome-web-driver

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

通过 FileSystem 对象从文件系统读取

为了列出类路径上特定目录的文件内容,我使用了 Java 7 的新FileSystem功能Path。在一个部署中,该目录直接存储在文件系统上。在另一个部署中,它存储在 JAR 文件中。

我的方法适用于 JAR 文件:我创建一个FileSystem引用 JAR 文件的对象并通过Path对象访问内容。

        ...
        URI dir = ...
        String[] array = dir.toString().split("!");

        try (final FileSystem fs = FileSystems.newFileSystem(URI.create(array[0]), new HashMap<String, Object>()))
        {
            final Path directory = fs.getPath(array[1]);
            try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(directory))
            {
        ...
Run Code Online (Sandbox Code Playgroud)

由于 dir 对象具有以下值,因此它可以工作:

jar:file:/C:/Users/pax/.../Detector-1.0.jar!/org/.../destinationdir
Run Code Online (Sandbox Code Playgroud)

但在其他环境中,目标目录直接存储在文件系统上。dir 对象包含值:

file:/C:/Users/pax/.../destinationdir
Run Code Online (Sandbox Code Playgroud)

FileSystems.newFileSystem(...)/始终为file:/C:/Users/pax/.../destinationdirURI抛出以下异常:

java.lang.IllegalArgumentException: Path component should be '/'
at sun.nio.fs.WindowsFileSystemProvider.checkUri(WindowsFileSystemProvider.java:68)
Run Code Online (Sandbox Code Playgroud)

如何使用FileSystem.newFileSystem文件系统上的目的地?

是否有更好的方法来独立于其特定类型的存储(文件系统或 JAR 文件)列出目录内容?

java filesystems directory jar path

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

类常量作为数组键

请看下面的代码:

...
class LanguageResources {
    const SESSION_LANGUAGE_KEY = 'lang';

    public static function getLanguageSettingsFilePath() {

        if (isset($_GET[LanguageResources::SESSION_LANGUAGE_KEY])) {
....
Run Code Online (Sandbox Code Playgroud)

我获取最后一行的PHP错误消息.通过常量值进行数组索引访问有什么问题?

Notice: Use of undefined constant SESSION_LANGUAGE_KEY - assumed 'SESSION_LANGUAGE_KEY' in ...languages.php on line 17
Run Code Online (Sandbox Code Playgroud)

php arrays constants key

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

从不同的线程同步请求JavaFX线程内的数据

我有一个单独的线程需要请求一些可能在此期间在JavaFX线程内发生变化的数据.我想在这个单独的线程中执行一个阻塞调用,以确保请求被引入JavaFX线程.

Swing-GUI测试框架AssertJ为此提供了一个易于使用的API:

List list = GuiActionRunner.execute(new GuiQuery<...>...);
Run Code Online (Sandbox Code Playgroud)

调用阻塞当前线程,在事件调度线程中执行传递的代码并返回所需的数据.

如何在JavaFX应用程序的生产代码中实现?这个要求的推荐方法是什么?

multithreading synchronization javafx

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