我在 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 level为Project default (17 - Sealed types, always strict floating-point semantics).
在Modules -> Dependencies我已经设置Module SDK为Project SDK openjdk-17.
在Settings -> Build, Execution, Deployment -> Compiler -> Java …
运行我的 LibGDX 桌面项目时,有时会出现此错误:
Changes are not tracked, unable determine incremental changes.
我尝试过使用 Java 8 和 17。我使用的是 Gradle 7.4.2。
我已经尝试过这里提到的更改,但它们似乎是针对 Kotlin 项目的。
我正在努力寻找有关导致此问题的更多信息。
我还能尝试什么来解决这个问题?
我想在 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) 最近我一直在为JVM编程语言编写一个编译器,我意识到了一个问题.
我想从我的编程语言中访问Java方法,并允许Java方法以我的语言访问方法.问题是我需要知道Java方法签名,以便在我生成的字节码中调用它,反之亦然.
我一直在试图考虑Scala如何做到这一点的任何方法.这是我的想法.
.java类路径上的文件并解析它们,从那里提取方法签名. .java文件被编译为.class文件.然后使用Java ASM库来访问.class文件并获取方法签名.此方法的问题是.java必须首先编译文件. .java使用反射动态加载文件.这个问题是我认为JVM不允许加载编译器类路径之外的类. 查看Scala,它可以很好地与其他JVM语言配合使用,但我无法找到有关它如何实现的信息.
Scala如何获取其他JVM语言方法的方法签名?
java compiler-construction programming-languages scala java-bytecode-asm
我想在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.swt从e4xmi文件中删除.这包括CleanupAddon,DnDAddon和MinMaxAddon.按钮仍然存在.
我已经阅读了很多有关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在使用可选方式方面有区别?
我一直在尝试使用堆栈构建我最近几天的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) 我正在努力让 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)
添加 …
我使用 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 的正确方法是什么?
我想用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) java ×6
gradle ×2
haskell ×2
scala ×2
vue.js ×2
vuejs2 ×2
eclipse-rcp ×1
java-17 ×1
javascript ×1
libgdx ×1
megaparsec ×1
meteor ×1
optional ×1
parsec ×1
parsing ×1
rcp ×1
sitemap ×1
spring ×1
spring-boot ×1
typescript ×1
vue-router ×1
xml-sitemap ×1