我对Spring和maven相对较新,我只是在几个月内第一次重新审视它们.当我尝试运行本教程中的代码时,我在pom.xml中遇到以下错误:
Missing artifact: org.hibernate:hibernate-entitymanager:jar:3.3.2.ga
Run Code Online (Sandbox Code Playgroud)
这是否意味着我必须下载并安装一个额外的jar?我很确定我用spring下载了hibernate,这得到了以下事实的支持:在tomcat服务器上从eclipse启动时,spring pet clinic示例应用程序在我的系统上正常运行.
我已经谷歌搜索此错误消息,并尝试了许多建议,但他们没有解决我的机器上的问题.如何通过此错误消息?
我挖掘了项目的目录结构,并找到了另一个没有抛出错误的pom.xml副本.它实际上使用了语法3.3.2.ga,所以我认为不是这个问题.新的pom.xml文件位于目标/ m2e-wtp/web-resources/META-INF/Maven/MavenWeb/MavenWeb /子目录的深处.当我将这个新的pom.xml移动到根目录时,错误消息消失了,即使该节点的语法仍然是:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.3.2.ga</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
目前,这个问题已得到解答,至少在我试图稍后运行之前.让我考虑一下如何为人们在这方面所做的工作给予赞扬,同时仍然让那些在搜索引擎上找到这个问题的人明白答案.
我最近做了这个教程并且运行良好.然后,今天,我在eclipse中重新打开了项目并选择了Run As ... Run on Server.应用程序似乎从eclipse控制台中运行的日志中经历了正常的加载过程,但是当我希望应用程序在浏览器中加载时,在eclipse控制台中出现以下错误消息:
Exception in thread "http-bio-8080-exec-3" java.lang.OutOfMemoryError: PermGen space
Run Code Online (Sandbox Code Playgroud)
我之前也运行了本教程中的代码,并打开了一些blob文件,但我认为这不会导致问题,因为即使在关闭所有内容并重新启动计算机之前,此错误仍然存在. .再次在服务器上运行以获取代码.
我搜索了错误并阅读有关内存泄漏的帖子,例如将大量文件完全加载到内存中而不是使用输入流等.但是当我分析应用程序中的所有代码时,我找不到任何大的变量.我发布下面的代码.如果我还有其他任何内容可以帮助您找到问题,请告诉我.
谁能告诉我内存泄漏的位置?
这是Link Controller:
@Controller
public class LinkController {
@RequestMapping(value="/")
public ModelAndView mainPage() {return new ModelAndView("home");}
@RequestMapping(value="/index")
public ModelAndView indexPage() {return new ModelAndView("home");}
}
Run Code Online (Sandbox Code Playgroud)
这是团队控制器:
@Controller
@RequestMapping(value="/team")
public class TeamController {
@Autowired
private TeamService teamService;
@RequestMapping(value="/add", method=RequestMethod.GET)
public ModelAndView addTeamPage() {
ModelAndView modelAndView = new ModelAndView("add-team-form");
modelAndView.addObject("team", new Team());
return modelAndView;
}
@RequestMapping(value="/add", method=RequestMethod.POST)
public ModelAndView addingTeam(@ModelAttribute …Run Code Online (Sandbox Code Playgroud) 在使用hibernate和MySQL的spring mvc应用程序中,我收到的错误似乎表明Name实体无法找到实体超类id属性的setter .BaseEntityPatient
我该如何解决这个错误?
这是错误消息:
Caused by: org.hibernate.PropertyAccessException: could not set a field value by
reflection setter of myapp.mypackage.Name.patient
Run Code Online (Sandbox Code Playgroud)
以下是触发错误的代码行:
ArrayList<Name> names = (ArrayList<Name>) this.clinicService.findNamesByPatientID(patntId);
Run Code Online (Sandbox Code Playgroud)
这是BaseEntity两者的超类,Patient并且Name:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@DiscriminatorFormula("(CASE WHEN dtype IS NULL THEN 'BaseEntity' ELSE dtype END)")
public class BaseEntity {
@Transient
private String dtype = this.getClass().getSimpleName();
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
protected Integer id;
public void setId(Integer id) {this.id = id;}
public Integer getId() {return …Run Code Online (Sandbox Code Playgroud) 我有一个模式,JAXB每次都能完美地生成 java 类。我正在尝试hyperjaxb处理相同的模式。为此,我从此链接hyperjaxb下载并解压了Maven 项目,然后使用
示例数据导航到根目录,并通过运行来测试它,以确保它适用于示例架构。然后,我用在 中完美运行的完整模式替换了、和文件,包括许多导入的命名空间。然后我又跑了。但是,我收到以下错误消息:cmd.exemvn clean installschema.xsdpo.xmlbindings.xjbJAXBmvn clean install
[ERROR] Error while parsing schema(s).Location [ file:/C:/path/to/src/main/resources/schema.xsd{4,32}].
org.xml.sax.SAXParseException; systemId: file:/C:/path/to/src/main/resources/schema.xsd;
lineNumber: 4; columnNumber: 32; Unsupported binding namespace "".
Perhaps you meant "http://annox.dev.java.net"?
Run Code Online (Sandbox Code Playgroud)
在示例中,schema.xsd 顶部的架构标记为:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="1.0">
Run Code Online (Sandbox Code Playgroud)
相比之下,我的自定义架构使用:
<xs:schema targetNamespace="urn:some-org:v3" xmlns:mif="urn:some-org:v3/mif" xmlns="urn:some-org:v3"
xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
xmlns:sdtc="urn:some-org:sdtc" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="1.0">
Run Code Online (Sandbox Code Playgroud)
请注意xmlns="urn:some-org:v3"我的自定义架构中的架构标记。它不包括像 之类的限定符xmlns:somequalifier="urn:some-org:v3"。这是造成问题的原因吗?它在 JAXB 中完美运行,无需限定符。遍历整个命名空间并在每个类型前面添加限定符将是一个很大的痛苦。
或者,也可能是示例项目的 pom.xml 中定义的结构(在上面链接的 zip 文件中)导致了问题。它们与基本的 JAXB 工具不同。
我怎样才能避免这个问题? 最好不要为每种类型添加限定符。我的架构中有几千行。
堆栈跟踪的以下几行可能会有所启发: …
我刚刚安装CentOS linux然后下载了MySQL tar文件来安装MySQL.我解压缩了6个附带的rpm文件,然后单击该-server rpm文件进行安装.但是我收到以下对话框错误:
Failed to install file
Two packages provide the same name.
This is usually due to mixing packages from different software sources.
Run Code Online (Sandbox Code Playgroud)
当我尝试从linux终端运行安装它时,我得到以下更具体的日志,这似乎表明与mariadb冲突:
[root@localhost ~]# yum install /path/to/Downloads/MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Examining /path/to/Downloads/MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm: MySQL-server-5.6.21-1.linux_glibc2.5.x86_64
Marking /path/to/Downloads/MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package MySQL-server.x86_64 0:5.6.21-1.linux_glibc2.5 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
Run Code Online (Sandbox Code Playgroud)
MySQL-server x86_64 5.6.21-1.linux_glibc2.5 …
我正在尝试设置JavaMail发送和接收电子邮件Postfix,这是安装在我的CentOS7开发盒上.我已经确认postfix能够通过键入MAIL=/home/root/Maildir终端显示收到的电子邮件,然后返回,然后mail列出所有收到的用户帐户的电子邮件.但是当我以root身份登录并检查收到的电子邮件时CentOS 7 terminal,我运行Javamail代码后没有新的电子邮件,如下所述. 我怎样才能Javamail发送smtp电子邮件?
这是我的班级:
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
//Send a simple, single part, text/plain e-mail
public class TestEmail {
public void send(){
// SUBSTITUTE YOUR EMAIL ADDRESSES HERE!
String to = "root@localhost";
String from = "username@localhost";
// SUBSTITUTE YOUR ISP'S MAIL SERVER HERE!
String host = "localhost";
// Create properties, get Session
Properties props = new Properties(); …Run Code Online (Sandbox Code Playgroud) 如何让 BouncyCastle 解密 GPG 加密的消息?
我在 CentOS 7 命令行中使用gpg --gen-key. 我选择了 RSA RSA 作为加密类型,并使用gpg --export-secret-key -a "User Name" > /home/username/username_private.key和导出了密钥gpg --armor --export 66677FC6 > /home/username/username_pubkey.asc
我能够导入username_pubkey.asc到另一个电子邮件帐户的远程 Thunderbird 客户端,并成功地将加密的电子邮件发送到 username@mydomain.com。但是,当我在 mydomain.com 上运行的 Java/BouncyCastle 代码尝试解密 GPG 编码的数据时,会出现以下错误:
org.bouncycastle.openpgp.PGPException:
Encrypted message contains a signed message - not literal data.
Run Code Online (Sandbox Code Playgroud)
如果您查看下面的代码,您将看到这与PGPUtils.decryptFile()状态所在的行相对应else if (message instanceof PGPOnePassSignatureList) {throw new PGPException("Encrypted message contains a signed message - not literal data.");
原始代码来自此链接的博客条目,尽管我做了一些小改动以使其在带有 Java 7 的 Eclipse …
AngularJS应用程序需要重用多个自定义对象。我担心创建难以维护的混乱的冗余代码,因此我将可重复使用的代码移至可以为每个视图简洁地注入控制器的服务,然后直接从每个html视图中调用,而不会使控制器混乱码。
下图说明了如何someclass.js重用该服务,以及为什么在一个地方尽可能多地隔离其代码很重要的原因:
我已经开发了部分实现此功能的代码,并将其发布到plnkr上。(感谢@shakir获得此plnkr来重新创建问题。)我还包括以下代码。
尽管单击表单提交按钮确实会导致调用服务中表单的处理程序方法,但问题是应该处理表单数据的someclass.method1()方法中未定义应包含表单数据的对象。 需要对下面的代码进行哪些特定的更改,以便可以在服务的表单处理方法内部操纵表单中用户提交的数据的值?
视图和服务(通过控制器)之间的通信的完整要求是:
1.)someclass.prop1可以在视图中打印其值(在下面的代码中有效),并且
2.)ng-submitof confirmForm可以直接调用someclass.method1作为处理程序,从而最小化其中的代码someroute.js(这种情况在下面的代码中发生,但是在someclass.somemethod1()运行时未定义应包含表单数据的对象)
plnkr代码:
这是plnkr,其中包含对的服务调用@JoaozitoPolo。当前版本可以someclass.method1()从视图中调用,但是表单数据未传递到函数中。因此,我们需要弄清楚如何将表单数据传递到函数中。
此处显示的代码也:
的代码(在我的devbox)连接的属性和方法someview.html与someclass.js(但是从形式不发送数据到someclass.js该函数调用期间)被包括,如下所示:
这是以下代码someclass.js:
angular
.module('someclass', ['ngCookies'])
.service('someclass', ['$rootScope', '$http', '$cookies', function($rootScope, $http, $cookies){
this.prop1 = $cookies.get('test1');
this.prop2 = 'nothing';
this.resultphone = {};
this.method1 = function(isValid, resultphone) {
if(isValid){
var funcJSON = resultphone;
funcJSON.wleadid = '1';//resultphone is undefined in …Run Code Online (Sandbox Code Playgroud) 此链接中的复杂.yaml文件需要输入到 bash 脚本中,该脚本作为在 Amazon Linux 2 的 EC2 实例上运行的自动化程序的一部分运行。请注意,上面链接中的文件包含许多对象,我需要提取这些对象在文件中定义的众多对象之一中定义的环境变量之一。 .yaml
具体来说,如何
192.168.0.0/16将CALICO_IPV4POOL_CIDR变量的值提取到 bash 变量中?
- name: CALICO_IPV4POOL_CIDR
value: "192.168.0.0/16"
Run Code Online (Sandbox Code Playgroud)
我已经阅读了很多关于解析更扁平、更简单的.yaml文件的其他帖子和博客条目,但这些其他示例都没有显示如何提取像这个问题中的valueofCALICO_IPV4POOL_CIDR这样的嵌套值。
需要使用什么特定语法才能成功销毁
devenvironment下面代码中部署组创建的所有资源?
运行以下命令时,会在 Azure 中创建资源集合:
az deployment group create --name devenvironment --resource-group myResourceGroupDev --template-file C:\path\to\my.template.json --parameters C:\path\to\my.parameters.json --verbose
Run Code Online (Sandbox Code Playgroud)
我们遇到的问题是以下命令使 Azure 中所有创建的资源完好无损:
az deployment group delete --name devenvironment --resource-group myResourceGroupDev --verbose
Run Code Online (Sandbox Code Playgroud)
此命令所做的只是删除与使用上述命令创建的资源关联的az deployment group delete包装器。此命令对创建的实际资源没有任何影响。devenvironmentaz deployment group createaz deployment group delete
我们想要的是一个命令,该命令将导致销毁该命令创建的所有资源az deployment group create。
我们想要这样的命令terraform destroy来销毁在 ARM 部署中创建的所有资源,但使用azcli。
什么样的具体语法会带来我们想要的结果?
java ×5
hibernate ×3
spring ×3
maven ×2
mysql ×2
angularjs ×1
azure ×1
bash ×1
bouncycastle ×1
centos ×1
eclipse ×1
email ×1
encryption ×1
gnupg ×1
hyperjaxb ×1
jakarta-mail ×1
javascript ×1
jaxb ×1
kubernetes ×1
linux ×1
memory-leaks ×1
postfix-mta ×1
smtp ×1
terminal ×1
xml ×1
xsd ×1
yaml ×1