小编Mic*_*ael的帖子

IntelliJ - 无效源版本:17

我在 IntelliJ 中使用 Gradle 创建了一个使用 Java 17 的新 Java 项目。运行我的应用程序时出现错误Cause: error: invalid source release: 17

我的设置

我已经安装openjdk-17完毕IntelliJ并将其设置为我的Project SDK.

Project language level设置为17 - Sealed types, always-strict floating-point semantics.

在此输入图像描述

Modules -> Sources我已经设置Language levelProject default (17 - Sealed types, always strict floating-point semantics).

模块->来源

Modules -> Dependencies我已经设置Module SDKProject SDK openjdk-17.

模块->依赖项

Settings -> Build, Execution, Deployment -> Compiler -> Java …

java intellij-idea gradle java-17

181
推荐指数
5
解决办法
18万
查看次数

Gradle - “未跟踪更改,无法确定增量更改。”

运行我的 LibGDX 桌面项目时,有时会出现此错误:

Changes are not tracked, unable determine incremental changes.

我尝试过使用 Java 8 和 17。我使用的是 Gradle 7.4.2。

我已经尝试过这里提到的更改,但它们似乎是针对 Kotlin 项目的。

我正在努力寻找有关导致此问题的更多信息。

我还能尝试什么来解决这个问题?

java gradle libgdx

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

如何在Spring Boot中禁用邮件健康检查?

我想在 Spring Boot 中禁用邮件运行状况检查,因为这些值将在运行时设置。我发现 Spring Boot 的某些 GitHub 问题中提到了这一点,但提到的配置有所不同。

这是我启动 Spring Boot 应用程序后的异常。

  2021-12-13 11:58:52.173 |tion(3)-192.168.1.89 |WARN  |o.s.boot.actuate.mail.MailHealthIndicator   | Mail health check failed
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1
  at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2210)
  at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:722)
  at javax.mail.Service.connect(Service.java:342)
  at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:518)
  at org.springframework.mail.javamail.JavaMailSenderImpl.testConnection(JavaMailSenderImpl.java:398)
  at org.springframework.boot.actuate.mail.MailHealthIndicator.doHealthCheck(MailHealthIndicator.java:42)
  at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:82)
  at org.springframework.boot.actuate.health.HealthIndicator.getHealth(HealthIndicator.java:37)
  at org.springframework.boot.actuate.health.HealthEndpoint.getHealth(HealthEndpoint.java:71)
  at org.springframework.boot.actuate.health.HealthEndpoint.getHealth(HealthEndpoint.java:39)
  at org.springframework.boot.actuate.health.HealthEndpointSupport.getContribution(HealthEndpointSupport.java:99)
  at org.springframework.boot.actuate.health.HealthEndpointSupport.getAggregateHealth(HealthEndpointSupport.java:110)
  at org.springframework.boot.actuate.health.HealthEndpointSupport.getContribution(HealthEndpointSupport.java:96)
  at org.springframework.boot.actuate.health.HealthEndpointSupport.getHealth(HealthEndpointSupport.java:74)
  at org.springframework.boot.actuate.health.HealthEndpointSupport.getHealth(HealthEndpointSupport.java:61)
  at org.springframework.boot.actuate.health.HealthEndpoint.health(HealthEndpoint.java:65)
  at org.springframework.boot.actuate.health.HealthEndpoint.health(HealthEndpoint.java:55)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282)
  at org.springframework.boot.actuate.endpoint.invoke.reflect.ReflectiveOperationInvoker.invoke(ReflectiveOperationInvoker.java:77) …
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot

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

JVM语言的互操作性

最近我一直在为JVM编程语言编写一个编译器,我意识到了一个问题.

我想从我的编程语言中访问Java方法,并允许Java方法以我的语言访问方法.问题是我需要知道Java方法签名,以便在我生成的字节码中调用它,反之亦然.

我一直在试图考虑Scala如何做到这一点的任何方法.这是我的想法.

  1. Scala访问.java类路径上的文件并解析它们,从那里提取方法签名.
  2. .java文件被编译为.class文件.然后使用Java ASM库来访问.class文件并获取方法签名.此方法的问题是.java必须首先编译文件.
  3. .java使用反射动态加载文件.这个问题是我认为JVM不允许加载编译器类路径之外的类.

查看Scala,它可以很好地与其他JVM语言配合使用,但我无法找到有关它如何实现的信息.

Scala如何获取其他JVM语言方法的方法签名?

java compiler-construction programming-languages scala java-bytecode-asm

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

删除视图上的最小化/最大化按钮

我想在Eclipse RCP中隐藏视图的最小化/最大化按钮.

目前我在RCP 4(Compatability模式)中运行RCP 3产品.

这是包含所有按钮的视图的顶部栏.(我已经掩盖了徽标等)

之前

删除按钮的一种方法是创建style.css文件并指定按钮不可见.

.MPartStack 
{
    swt-maximize-visible: false;
    swt-minimize-visible: false;
}
Run Code Online (Sandbox Code Playgroud)

这导致了这一点.

在此输入图像描述

这是成功删除最小化/最大化按钮,但也将下拉按钮向下移动到下面一行.

可能是什么导致了这个?

更新
作为替代方案,我尝试addons.swte4xmi文件中删除.这包括CleanupAddon,DnDAddonMinMaxAddon.按钮仍然存在.

java rcp eclipse-rcp

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

为什么实例变量没有使用可选的?

我已经阅读了很多有关Optional应该使用的案例的信息。

我读过的很多页面都说Optional不应将其用于私有实例变量,而应由getter返回。

我本以为将私有实例变量作为可选变量仍然有用。如果有人查看我的代码,他们可以看到值可以为空,而不必检查文档以查看是否可以返回null。

在Scala中,从不使用null,只有在与Java互操作的情况下才使用null。如果值可以为null,建议始终使用可选值。这种方法对我来说更有意义。

这是提及它的页面:

https://blog.joda.org/2015/08/java-se-8-optional-pragmatic-approach.html

这是示例代码。

private final String addressLine;  // never null
private final String city;         // never null
private final String postcode;     // optional, thus may be null

// normal getters
public String getAddressLine() { return addressLine; }
public String getCity() { return city; }

// special getter for optional field
public Optional<String> getPostcode() {
  return Optional.ofNullable(postcode);
}
Run Code Online (Sandbox Code Playgroud)

我可以看到的唯一好处是,如果您要序列化对象,则现在可以实现,因为它不会在变量中存储可选内容。

缺点是,在检查getter的返回类型之前,您不知道邮政编码可以为null。如果您不熟悉该代码,则可能会错过此添加操作,从而扩展了类,从而导致空指针异常。

这是一个有关Scala的问题Option

何时使用选件

为什么Java和Scala在使用可选方式方面有区别?

java scala optional

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

Haskell-Stack:构建期间的访问冲突错误

我一直在尝试使用堆栈构建我最近几天的Haskell项目,并且我遇到了访问冲突错误.根据我的理解,我有最新的堆栈版本和GHC.

这一切都是最初工作,直到我将库添加到我的cabal文件.我现在已将其删除,但错误仍然存​​在.我还回到了我的代码肯定正在工作的时候,所以我确定这是由堆栈引起的.

我已经尝试卸载堆栈,删除.stack-work并重新安装.然后进行堆栈设置.我尝试了很多命令,但没有结果.

我现在也尝试使用Stack创建一个新项目并构建它,我也遇到了同样的问题.

stack build

Building all executables for `haskell-project' once. After a successful build of all of them, only specified executables will be rebuilt.
haskell-project-0.1.0.0: configure (exe)
Access violation in generated code when reading 000000000e58391a

--  While building custom Setup.hs for package haskell-project-0.1.0.0 using:
      C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_2.0.1.0_ghc-8.2.2.exe --builddir=.stack-work\dist\5c8418a7 configure --with-ghc=C:\Users\Michael\AppData\Local\Programs\stack\x86_64-windows\ghc-8.2.2\bin\ghc.EXE --with-ghc-pkg=C:\Users\Michael\AppData\Local\Programs\stack\x86_64-windows\ghc-8.2.2\bin\ghc-pkg.EXE --user --package-db=clear --package-db=global --package-db=C:\sr\snapshots\13cecb13\pkgdb --package-db=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\pkgdb --libdir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\lib --bindir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\bin --datadir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\share --libexecdir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\libexec --sysconfdir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\etc --docdir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\doc\haskell-project-0.1.0.0 --htmldir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\doc\haskell-project-0.1.0.0 --haddockdir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\doc\haskell-project-0.1.0.0 --dependency=base=base-4.10.1.0 --dependency=containers=containers-0.5.10.2 --dependency=mtl=mtl-2.2.1-DscMMmDQUE6GBfOSl4qMUH --dependency=parsec=parsec-3.1.11-3BgBURmbRiVF8fgoxhAiBa --dependency=pretty-simple=pretty-simple-2.0.1.0-J3QTM6x6LHL5fhqavYvVhJ --dependency=text=text-1.2.2.2-9VTsh6V7U7hpagw2HDvpZ --extra-include-dirs=C:\Users\Michael\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\include --extra-lib-dirs=C:\Users\Michael\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\bin --extra-lib-dirs=C:\Users\Michael\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib --enable-tests --enable-benchmarks
    Process exited with code: ExitFailure …
Run Code Online (Sandbox Code Playgroud)

haskell haskell-stack

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

设置 Meteor、Vue 和 Typescript

我正在努力让 Meteor、Vue 和 Typescript 协同工作。我找不到关于 Meteor、Vue 和 Typescript 的任何教程,示例 github 项目也无法正常工作,并且使用变通方法来避免我遇到的问题。例如,将 Typescript 代码分离到它自己的文件中,而不是将它放在脚本标签中。

根据教程,我应该能够以两种不同的方式定义我的组件。

1

<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'

@Component
export default class HelloWorld extends Vue {
}
</script>
Run Code Online (Sandbox Code Playgroud)

2

<script lang="ts">
@component({
    name: 'HelloWorld'
})
</script>
Run Code Online (Sandbox Code Playgroud)

如果我创建了一个meteor vue项目并执行这些步骤,上面的代码有错误。

流星创造

meteor create --vue "vue-typescript-test"
Run Code Online (Sandbox Code Playgroud)

添加 tsconfig.json

{
  "compilerOptions": {
    "lib": ["dom", "es5", "es2015"],
    "target": "es5",
    "module": "es2015",
    "moduleResolution": "node",
    "sourceMap": true,
    "allowSyntheticDefaultImports": true
  }
}
Run Code Online (Sandbox Code Playgroud)

添加 ts-loader

npm i -D typescript ts-loader
Run Code Online (Sandbox Code Playgroud)

添加 …

javascript meteor typescript vue.js vuejs2

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

将站点地图添加到 VueJS 应用程序

我使用 VueJS 而不使用 Vue CLI。我想sitemap.xml向我的路由器添加一个,但我很难理解如何使用该vue-router-sitemap库。

我已经尝试使用提到的代码,但它没有指定应该添加到哪里。

import VueRouterSitemap      from 'vue-router-sitemap';
import path                  from 'path';
import { router }            from 'router';

...
export const sitemapMiddleware = () => {
  return (req, res) => {
    res.set('Content-Type', 'application/xml');

    const staticSitemap = path.resolve('dist/static', 'sitemap.xml');
    const filterConfig = {
      isValid: false,
      rules: [
        /\/example-page/,
        /\*/,
      ],
    };

    new VueRouterSitemap(router).filterPaths(filterConfig).build('http://example.com').save(staticSitemap);

    return res.sendFile(staticSitemap);
  };
};

app.get('/sitemap.xml', sitemapMiddleware());
Run Code Online (Sandbox Code Playgroud)

如果我将此文件添加到任何位置,则该app变量不存在(正如我所期望的那样)。我假设这必须放置在特定的地方。

我找不到任何其他关于如何执行此操作的示例,并且有关此库的其他问题在 reddit 或 stackoverflow 上仍未得到解答。

sitemap.xml向 VueJS 项目添加 a 的正确方法是什么?

sitemap xml-sitemap vue.js vue-router vuejs2

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

使用Megaparsec进行缩进

我想用Megaparsec解析一个基本的缩进语言.最初我使用Parsec,我设法正确缩进,但现在我遇到了一些麻烦.

我一直在下面的教程这里和这里的我要解析语言忽略缩进的代码.

module Parser where

import           Data.Functor                  ((<$>), (<$))
import           Control.Applicative           (Applicative(..))
import qualified Control.Monad                 as M
import Control.Monad (void)
import           Data.Functor.Identity
import           Data.Text                     (Text)
import qualified Data.Text                     as Text

import Data.Void

import Text.Megaparsec
import Text.Megaparsec.Char
import Text.Megaparsec.Perm
import Text.Megaparsec.Expr
import qualified Text.Megaparsec.Char.Lexer as L

import Text.Pretty.Simple
import Data.Either.Unwrap

--import Lexer
import Syntax

type Parser = Parsec Void String

lineComment :: Parser ()
lineComment = L.skipLineComment "#"

scn :: Parser ()
scn = L.space space1 lineComment empty

sc …
Run Code Online (Sandbox Code Playgroud)

parsing haskell parsec megaparsec

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