小编And*_*min的帖子

Jenkinsfile 中 echo 和 println 的区别

在使用 Groovy 在 Jenkins 中编写管道时,我们可以互换使用echoprintln语句。这些说法有什么区别吗?

例如,

buildNumber = "1.10";
echo "BUILD #${buildNumber}";
println "BUILD #${buildNumber}";
Run Code Online (Sandbox Code Playgroud)

groovy jenkins jenkins-groovy jenkins-pipeline

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

如果不使用 Hadoop,为什么 Windows 上的 Spark 会出现所有这些“HADOOP_HOME”和 Winutils 错误?

我正在使用 Java 11 在 Windows 10 上运行 Spark 3.3.0。我没有使用 Hadoop。每次我运行某些东西时,都会出现这样的错误:

java.lang.RuntimeException: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblems
    at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:735)
    at org.apache.hadoop.util.Shell.getSetPermissionCommand(Shell.java:270)
    at org.apache.hadoop.util.Shell.getSetPermissionCommand(Shell.java:286)
    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:978)
Run Code Online (Sandbox Code Playgroud)

首先,甚至错误消息中的链接https://wiki.apache.org/hadoop/WindowsProblems也已损坏。更新链接显然是https://cwiki.apache.org/confluence/display/HADOOP2/WindowsProblems,它基本上说 Hadoop 需要 Winutils。但我没有使用 Hadoop。我只是使用 Spark 在本地处理一些 CSV 文件。

其次,我希望我的项目使用 Maven 构建并使用纯 Java 运行,而不需要用户安装一些第三方软件。如果需要安装这个 Winutil 东西,它应该包含在某些 Maven 依赖项中。

如果我不使用 Hadoop,为什么需要所有这些 Hadoop/Winutils 东西?我该如何解决它,以便我的项目将在 Maven 中构建并像 Java 项目一样使用纯 Java 运行?

java hadoop apache-spark

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

Intellij -- java.lang.UnsupportedClassVersionError: org/jetbrains/idea/maven/server/RemoteMavenServer36

Intellij 不断抛出此错误。

java.lang.UnsupportedClassVersionError: org/jetbrains/idea/maven/server/RemoteMavenServer36 : Unsupported major.minor version 52.0
Exception in thread "main" 
Run Code Online (Sandbox Code Playgroud)

注意:尝试过其他帖子中提到的jdk差异。尽管如此,还是没有运气。

java intellij-idea maven

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

无法启动使用 Apache POI 的 JavaFX 应用程序

我有一个按预期工作的 JavaFX 应用程序。我需要使用 Apache POI 来读取和写入 excel 文件。以下是我已采取的步骤:

  1. 添加了所需的依赖

    implementation 'org.apache.poi:poi-ooxml:5.2.3'

  2. 将模块添加到 module-info.java

    requires org.apache.poi.ooxml;

  3. 尝试在函数中使用该库:

@FXML
private void downloadTemplate() {
    XSSFWorkbook workbook = new XSSFWorkbook();
}
Run Code Online (Sandbox Code Playgroud)

这一切都很好,没有任何问题。但是,当我尝试运行该应用程序时,出现以下两个错误(互换)

> Task :Start.main() FAILED
Error occurred during initialization of boot layer
java.lang.module.FindException: Module SparseBitSet not found, required by org.apache.poi.ooxml
Run Code Online (Sandbox Code Playgroud)

> Task :Start.main() FAILED
Error occurred during initialization of boot layer
java.lang.module.FindException: Module commons.math3 not found, required by org.apache.poi.ooxml
Run Code Online (Sandbox Code Playgroud)

但是,我可以清楚地看到“外部库”下的两个库 扩展库视图

我正在使用 IntelliJ Community Edition 2022.1.2 并使用 Java 17.0.1 运行该项目。任何帮助将不胜感激。

java javafx apache-poi javafx-17

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

从 Java 向 Safari 发送推送通知

我正在尝试让 Web Push API 与我的应用程序和 iOS 上的 Safari 配合使用。我可以在 Safari 中正常注册...但是,当尝试将请求发送到端点时,我收到 403,原因是:BadJwtToken。\n我已验证在身份验证标头中发送的令牌是有效的。另外,我用来发送推送请求的代码在 Chrome 和 Edge 上完美运行。\n其他人有经历过这种行为吗?下面的日志摘录显示了传出请求和响应。任何建议将不胜感激。

\n
2023-02-23 16:32:05.882 DEBUG 17412 --- [/O dispatcher 1] org.apache.http.wire\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 : http-outgoing-0 >> "POST /QKmekz9T3h2DpblQXdmVpVJPWtR145PdK-WYRMt4zldrXBOGsnqLluGtB9PFehMfoTXASt2-8pTmnRzUB0P0XMMDgX-tWdgIvL1YptpQdI_pVB3EEsnbR0LUStq97BUMIrMG_yVI6eUYJVigQtVgq0Fcl0D8k7tt9U8WEBbLmFc HTTP/1.1[\\r][\\n]"\n2023-02-23 16:32:05.882 DEBUG 17412 --- [/O dispatcher 1] org.apache.http.wire\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 : http-outgoing-0 >> "Authorization: WebPush eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJhdWQiOiJodHRwczovL3dlYi5wdXNoLmFwcGxlLmNvbSIsImV4cCI6MTY3NzIxMzEyNSwic3ViIjoibWFpbHRvOiA8aW5mb0BtZHNnbG9iYWwuY29tPiJ9.7P42kj123WHHWk0AaRiFiIb1nTx1GaeaY3xmDWJbD3tlNQn_Rxw-jZPZOzxb1YeN7y2qWO9qoSIAg22_SwZuOQ[\\r][\\n]"\n2023-02-23 16:32:05.882 DEBUG 17412 --- [/O dispatcher 1] org.apache.http.wire\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 : http-outgoing-0 >> "Content-Encoding: aesgcm[\\r][\\n]"\n2023-02-23 16:32:05.882 DEBUG 17412 --- [/O dispatcher 1] org.apache.http.wire\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 : http-outgoing-0 >> "Encryption: salt=ski4AOi0Xc5HCo2zvuzDfg[\\r][\\n]"\n2023-02-23 16:32:05.882 DEBUG 17412 --- [/O dispatcher 1] org.apache.http.wire\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 …
Run Code Online (Sandbox Code Playgroud)

java safari push-notification safari-push-notifications web-push

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

收到错误消息:错误:此处不允许“void”类型

首先我有一个类,该类有一个 void 方法:

class IntGroup {
    int size;
    List<int[]> intervals;
    
    public IntGroup() {
        this.size = 0;
        this.intervals = new ArrayList<>();
    }
        
    public void addInt(int[] interval) {
        this.intervals.add(interval);
        this.size++;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后当我尝试创建一个列表时,创建一个新对象并调用该方法

// int[][] intervals
List<IntGroup> list = new ArrayList<>();
list.add(new IntGroup().addInt(intervals[0]));
Run Code Online (Sandbox Code Playgroud)

我收到错误消息error: 'void' type not allowed here list.add(new IntGroup().addInt(intervals[0]));。我尝试将返回类型更改addIntListint,但都不起作用。

java

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