我在WildFly (18.0.1) 中配置 JDBC 驱动程序时遇到问题。
每当我打开(Configuration/Subsystems/DataSources & Drivers/JDBC Drivers) 时,
我得到:
内部错误(详细信息:newValue 为空)。
错误图 1:
错误图 2:
任何帮助将不胜感激!
我们正在研究将应用程序从 JDK8 迁移到 JDK17。我们的一些模块使用基于 wsdl 的 Web 服务,其他一些模块使用 .xsd 模式等。无论如何,我们使用 JAXWS 和 JAXB api,这些 API 现在已从 JDK 版本 11 中删除并移至 Jakarta。
我已成功开始使用 jakarta 依赖项从 .wsdl 和 .xsd 文件生成源代码,并且使用 jakarta 导入正确生成了源代码
import jakarta.xml.bind.JAXBElement;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElementRef;
Run Code Online (Sandbox Code Playgroud)
而以前它使用的javax.xml.bind.
东西在编译时不再可用。我的问题是,虽然我已经成功生成了基于模式的源,但新生成器生成了不同的代码(类名、访问器等),我想在继续重构之前确认这是预期的行为。
例子:
我们的 .xsd 包含以下内容:
<xsd:complexType name="ForkStepType">
<xsd:annotation>
<xsd:appinfo>
<jxb:class name="ForkStep"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="tns:LinearStepType">
<xsd:sequence/>
<xsd:attribute name="forkLevel" type="tns:ForkLevelType" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)
使用 jaxb 版本的旧xjc生成器2.2.11
将生成一个名为 的类ForkStep
,我根据该jxb:class
元素猜测。3.0.1
另一方面,雅加达生成器生成一个名为ForkStepType
我猜测来自 …
我正在尝试迁移到 java 11 和 jakarta。我需要像在 Java EE 中那样从 XSD 文件创建 java 类。我已将所有 jaxb 导入更改为 jakarta。但我无法使 jaxb2 使用 jakarta namspace 而不是 jaxb 创建类。\n如果我没有向插件部分添加任何依赖项,那么该类将使用 javax namspace 创建,我不需要它,并且无论如何都找不到导入Java 错误:package javax.xml.bind.annotation does not exist.
\n生成的类是:
package org.ttt.raw.reporting.core.fussnote;\nimport javax.xml.bind.annotation.XmlAccessType; // I need to have jakarta.xml.bind ... here!\nimport javax.xml.bind.annotation.XmlAccessorType;\nimport javax.xml.bind.annotation.XmlElement;\nimport javax.xml.bind.annotation.XmlType;\n/**\n\n Java-Klasse f\xc3\xbcr FussnoteType complex type.\n\n Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.\n\n <complexType name="FussnoteType">\n <complexContent>\n\n <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">\n\n <sequence>\n\n <element name="FussnoteNummer" type="{http://www.w3.org/2001/XMLSchema}string"/>\n\n <element name="FussnoteText" type="{http://www.w3.org/2001/XMLSchema}string"/>\n\n </sequence>\n\n </restriction>\n\n …
Run Code Online (Sandbox Code Playgroud) 我们决定将KeyCloak用于我们的身份和访问管理解决方案,而不是完全在我们的 Java EE Web 应用程序中实现它。我们正在创建一个多租户解决方案,并且更愿意通过我们的工作流程以编程方式创建安全领域/用户/组,而不是利用 KeyCloak 的自注册功能或 Web UI,以便我们可以执行诸如获取信用卡详细信息以进行付款之类的操作等。我知道我们可能会利用管理 REST API来实现这一点,但我不确定除了手动编码 REST 调用之外是否还有更简单的方法来做到这一点。KeyCloak 是否提供了一个我们可以使用的管理客户端库?还是我们自己为管理 API 实现了 REST 客户端?
假设银行应用程序是用 Java EE 开发的。我们是现在致力于该应用程序的新人,不确定用于开发该应用程序的 Java EE 版本。
我们如何识别开发该项目的 Core Java/Java EE 版本?
尝试在 JMX 控制台中注册 MBean 时,我收到以下错误消息:
The package javax.management is accessible from more than one module: <unnamed>, java.management
Run Code Online (Sandbox Code Playgroud)
我正在使用 Eclipse,但module-info.java
我的项目结构中没有文件。
当我评论我对 Java EE API 的依赖时,错误消失了,但javax.management
包不是 JAR 的一部分。
当前的 Maven 插件(如 jaxb2-maven-plugin 和 maven-jaxb2-plugin)使用包 javax.xml 而不是 Jakarta EE 的新 jakarta.xml 包生成代码。似乎没有办法配置它们中的任何一个来使用 JAXB 3.0。有没有适用于 JAXB 3.0 的 Maven 插件?
我需要使用 Gmail 作为 SMTP 服务器从我的应用程序发送电子邮件。这是我的邮件连接器类,我在单独的属性文件中设置了值
public class EmailConnector {
public static Session sessionCreate() {
final String fromEmail = ConfigurationManager.getInstance().getProperty(EmailConfig.SENDER_EMAIL.toString());
final String password = ConfigurationManager.getInstance().getProperty(EmailConfig.SENDER_PASSWORD.toString());
Properties props = new Properties();
props.put("mail.smtp.host", ConfigurationManager.getInstance().getProperty(EmailConfig.SMTP_HOST.toString()));
props.put("mail.smtp.socketFactory.port",
ConfigurationManager.getInstance().getProperty(EmailConfig.SSL_PORT.toString()));
props.put("mail.smtp.socketFactory.class",
ConfigurationManager.getInstance().getProperty(EmailConfig.SSL_FACTORY_CLASS.toString()));
props.put("mail.smtp.auth",
ConfigurationManager.getInstance().getProperty(EmailConfig.SMTP_AUTHENTICATION.toString()));
props.put("mail.smtp.port", ConfigurationManager.getInstance().getProperty(EmailConfig.SMTP_PORT.toString()));
Authenticator auth = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(fromEmail, password);
}
};
return Session.getDefaultInstance(props, auth);
}
}
Run Code Online (Sandbox Code Playgroud)
特性:
#Email send configuration
SENDER_EMAIL = abcalerts@gmail.com
SENDER_PASSWORD = abcalert321
SMTP_HOST = smtp.gmail.com
SSL_PORT = 465
SMTP_AUTHENTICATION = true …
Run Code Online (Sandbox Code Playgroud) 我尝试过xmlns:h="jakarta.faces.html"
、xmlns:h="http://jakarta.faces.html"
、xmlns:h="https://jakarta.faces.html"
和其他类似的字符串,但似乎没有任何效果。
我正在使用 Hibernate 3.5.4-Final。
我想将实体作为命名查询的参数传递,然后在该查询中访问该命名参数的持久属性。我想做这个:
@NamedQuery(name = "hello", query = "SELECT p FROM WorkPackage p WHERE p IN (:workPackage).relatedWorkflows")
Run Code Online (Sandbox Code Playgroud)
问题接近查询的结尾,在
(:workPackage).relatedWorkflows
Run Code Online (Sandbox Code Playgroud)
这会导致 Hibernate 抛出一个部署时的 QuerySyntaxException。删除括号没有帮助;为了清楚起见,我把它们留在了里面。有什么办法可以解决这个问题,还是我必须以编程方式执行此操作?
jakarta-ee ×10
java ×6
java-platform-module-system ×2
hibernate ×1
jakarta-mail ×1
java-17 ×1
jaxb ×1
jdbc ×1
jmx ×1
jpa ×1
jpa-2.0 ×1
jpql ×1
jsf ×1
keycloak ×1
maven ×1
maven-plugin ×1
rest ×1
wildfly ×1
xjc ×1
xsd ×1