到目前为止,我通过Eclipse"Export ..."功能创建了可运行的JAR文件,但现在我切换到IntelliJ IDEA和Gradle进行构建自动化.
这里的一些文章提出了"应用程序"插件,但这并不完全导致我期望的结果(只是一个JAR,没有启动脚本或类似的东西).
如何通过Eclipse"Export ..."对话框实现相同的结果?
如果我理解Oracle的公告,JavaKX将不会从JDK 11开始包含在JDK中,并且只能作为OpenJFX使用.
作为软件开发人员,我必须采取哪些步骤才能使用JDK 11+运行我的JavaFX应用程序?有什么好的adivce吗?将通过Gradle提供OpenJDK吗?
给定一个场景的控制器调用业务代码引发异常.我怎样才能以一般方式处理这类例外?
我尝试了这个Thread.setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler)方法,但是没有调用它,所以我相信异常会在JavaFX框架内的某个地方被捕获.
我该怎么做才能处理此异常或至少向用户显示一些有用的信息?
我正在尝试将Hibernate 5(5.2.11)与Spring ORM一起使用.
在以下教程中,我提出了以下配置:
春豆
<bean id="sessionFactorySettings" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.H2Dialect</prop>
<prop key="hibernate.connection.driver_class">org.h2.Driver</prop>
<prop key="hibernate.connection.url">jdbc:h2:~/.dummy/settings</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>/hibernate.cfg.xml</value>
</list>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
Hibernate(hibernate.cfg.xml)
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<mapping class="entity.Settings"/>
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)
这种配置导致了org.hibernate.UnknownEntityTypeException: Unable to locate persister: entity.Settings.
但是,一旦我全部移动
<prop key="hibernate.xxx">..</prob>
Run Code Online (Sandbox Code Playgroud)
将属性转换为hibernate.cfg.xml并将Spring配置更改为
<bean id="sessionFactorySettings" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="configLocation" value="/hibernate.cfg.xml"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
一切正常.
知道我做错了吗?
PS:依赖关系:
dependencies {
compile 'ch.qos.logback:logback-classic:1.2.3'
compile 'org.springframework:spring-context:4.3.11.RELEASE'
compile 'org.springframework:spring-jdbc:4.3.11.RELEASE' …Run Code Online (Sandbox Code Playgroud) 环境:
我scalafx-hello-world从GitHub签出了,并在IntelliJ中构建并运行了它,一切正常。这里快速介绍重要的应用程序实现:
package hello
import scalafx.application.JFXApp
import scalafx.application.JFXApp.PrimaryStage
import scalafx.geometry.Insets
import scalafx.scene.Scene
import scalafx.scene.effect.DropShadow
import scalafx.scene.layout.HBox
import scalafx.scene.paint.Color._
import scalafx.scene.paint._
import scalafx.scene.text.Text
object ScalaFXHelloWorld extends JFXApp {
stage = new PrimaryStage {
// initStyle(StageStyle.Unified)
title = "ScalaFX Hello World"
scene = new Scene {
fill = Color.rgb(38, 38, 38)
content = new HBox {
padding = Insets(50, 80, 50, 80)
children = …Run Code Online (Sandbox Code Playgroud) 我对 Scala 测试比较陌生,因此我查阅了有关如何测试值的文档Either。
我试图复制这样的指令:
import org.scalatest.EitherValues
import org.scalatest.flatspec.AnyFlatSpec
class EitherTest extends AnyFlatSpec with EitherValues {
val either: Either[Exception, Int] = Right(42)
either.right.value should be > 1
}
Run Code Online (Sandbox Code Playgroud)
这个实现没有用,我收到一个语法错误。我做错了什么?
错误:
错误:(9, 22) 值不应该是 Int 的成员。right.value 应该 > 1 错误:(9, 29) not found: value be another.right.value 应该是 > 1 – Hannes 14 小时前
如果我在IntelliJ中运行应用程序,日志记录工作正常,但如果我运行 \xc3\xbcber-JAR,则会出现以下错误:
\nLF4J: No SLF4J providers were found.\nSLF4J: Defaulting to no-operation (NOP) logger implementation\nSLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.\nRun Code Online (Sandbox Code Playgroud)\n我使用以下配置使用sbt-assemble构建 \xc3\xbcber-JAR :
\nlazy val app = (project in file("."))\n .settings(\n assembly / mainClass := Some("com.example.app.Main"),\n assembly / assemblyJarName := "gcm.jar",\n assembly / assemblyMergeStrategy := {\n case PathList("META-INF", xs@_*) => MergeStrategy.discard\n case PathList("reference.conf") => MergeStrategy.concat\n case x => MergeStrategy.first\n }\n )\nRun Code Online (Sandbox Code Playgroud)\nLogback和scala-logging的依赖关系是:
\nThisBuild / libraryDependencies += "ch.qos.logback" % "logback-classic" % …Run Code Online (Sandbox Code Playgroud) 有没有办法告诉SBT使用哪个(本地)安装的JDK?
我敢肯定我可以更改PATH,JAVA_HOME但是我宁愿不更改那些设置,因为它们适用于整个系统(在这种情况下为Windows)。
我正在寻找某种命令行参数。
有没有办法说服Gradle接受资源文件(如XML文件)以及src/main/java文件夹?
这很好,因为我需要将我的JavaFX XML文件放在那里......
java ×4
scala ×4
gradle ×2
javafx ×2
javafx-8 ×2
sbt ×2
hibernate ×1
hibernate-5 ×1
jar ×1
java-8 ×1
java-platform-module-system ×1
logback ×1
openjdk-11 ×1
openjfx ×1
sbt-assembly ×1
scalafx ×1
scalatest ×1
spring ×1
spring-orm ×1
unicode ×1
windows ×1