我该如何解决以下冲突?
我得到一个例外:
Caused by: java.lang.ClassNotFoundException: org.hibernate.context.spi.CurrentSessionContext
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
Run Code Online (Sandbox Code Playgroud)
我得到一个例外:
Caused by: java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
at org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:324)
Run Code Online (Sandbox Code Playgroud)
我的项目的依赖性:
my.project:jsf-spring-security:war:1.0.0
+- org.slf4j:slf4j-log4j12:jar:1.6.4:compile
| +- (org.slf4j:slf4j-api:jar:1.6.4:compile - omitted for duplicate)
| \- (log4j:log4j:jar:1.2.16:compile - omitted for duplicate)
+- org.slf4j:slf4j-api:jar:1.6.4:compile
+- org.springframework:spring-core:jar:3.1.1.RELEASE:compile
| +- org.springframework:spring-asm:jar:3.1.1.RELEASE:compile
| \- commons-logging:commons-logging:jar:1.1.1:compile
+- org.springframework.ldap:spring-ldap:jar:all:1.3.1.RELEASE:compile
| \- (org.springframework:spring-core:jar:3.0.5.RELEASE:compile - omitted for conflict with 3.1.1.RELEASE)
+- org.springframework:spring-webmvc:jar:3.1.1.RELEASE:compile
| +- (org.springframework:spring-asm:jar:3.1.1.RELEASE:compile - omitted for duplicate)
| +- org.springframework:spring-beans:jar:3.1.1.RELEASE:compile
| | \- (org.springframework:spring-core:jar:3.1.1.RELEASE:compile - omitted for duplicate) …Run Code Online (Sandbox Code Playgroud) 我试图在eclipse调试器中设置值
private transient long fastTime;
Run Code Online (Sandbox Code Playgroud)
在一个java.util.Date.
我想在2010年1月1日的某个时间设置日期,该日期基于http://www.epochconverter.com是值(以毫秒为单位)1262362075000.
这个字段应该是long类型的但是当我尝试设置这个字段时(fastTime)我被eclipse告知这个值对于字段来说太大了.
我究竟做错了什么?

为什么下面没有war-and-peace.txt从resources文件夹中读取文件?
我的项目中的文件夹结构是使用 Intellij 创建的标准 Scala 结构。
出于某种原因,它仅在我将它放入src/main/scala(即我的 Scala 代码所在的位置)时才读取该文件,但是当我将它放入src/main/resources(在后一种情况下我得到java.lang.NullPointerException,顺便说一句,我也得到相同的异常时忽略该文件当我尝试阅读"/war-and-peace.txt"(带有前面的斜线)以防您想提出建议时)。
val file = new File(classLoader.getResource("war-and-peace.txt").getFile())
Source.fromFile(file).....
Run Code Online (Sandbox Code Playgroud)
我在用
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
Run Code Online (Sandbox Code Playgroud)
构建.sbt:
name := "my-project"
version := "1.0"
scalaVersion := "2.11.8"
resourceDirectory in Compile := baseDirectory.value / "resources"
libraryDependencies += "junit" % "junit" % "4.12"
libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.4"
Run Code Online (Sandbox Code Playgroud) 该ASM引导谈到构造函数:
Run Code Online (Sandbox Code Playgroud)package pkg; public class Bean { private int f; public int getF() { return this.f; } public void setF(int f) { this.f = f; } }Bean类还具有由编译器生成的默认公共构造函数,因为程序员没有定义任何显式构造函数。此默认的公共构造函数生成为
Bean() { super(); }。该构造函数的字节码如下:Run Code Online (Sandbox Code Playgroud)ALOAD 0 INVOKESPECIAL java/lang/Object <init> ()V RETURN第一条指令压
this入操作数堆栈。第二条指令从堆栈中弹出该值,并调用类中<init>定义的方法Object。这对应于super()调用,即对超类的构造函数的调用Object。您可以在此处看到,在编译类和源类中,构造函数的名称不同:在编译类中,它们总是命名为<init>,而在源类中,它们具有定义它们的类的名称。最后,最后一条指令返回给调用者。
this在构造函数的第一条指令之前,JVM已知的值如何?
我正在尝试在 Intellij 中构建 Play/Scala 项目。但有些依赖项没有找到。
我究竟做错了什么?
我已将 Intellij 设置为使用 Scala 2.11.8,但输出可能意味着使用了不同的版本(?)。
我尝试过以前类似问题的想法,但没有帮助:
SBT 插件依赖项解析失败,并显示 com.typesafe.play#sbt-plugin;2.2.1: not found
插件.sbt
// Comment to get more information during initialization
logLevel := Level.Warn
// Resolvers
resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases/"
resolvers += "Typesafe repository mvn" at "http://repo.typesafe.com/typesafe/maven-releases/"
// Sbt plugins
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.4.3")
addSbtPlugin("com.vmunier" % "sbt-play-scalajs" % "0.2.6")
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.3")
Run Code Online (Sandbox Code Playgroud)
构建属性
sbt.version=1.1.2
Run Code Online (Sandbox Code Playgroud)
构建.sbt
lazy val scalaV = "2.11.8"
lazy val `my_project` = (project in file(".")).settings(
scalaVersion := scalaV, …Run Code Online (Sandbox Code Playgroud) 我用Maven构建了一个war文件,它使用其他war叠加作为依赖...构建成功了.
但是在部署到Jboss时我收到以下错误:
11:27:49,054 ERROR [org.springframework.web.context.ContextLoader] (MSC service thread 1-1) .... nested exception is java.lang.NoClassDefFoundError: org/springframework/core/type/classreading/AnnotationMetadataReadingVisitor
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:281) [spring-context-3.2.1.RELEASE.jar:3.2.1.RELEASE]
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:242) [spring-context-3.2.1.RELEASE.jar:3.2.1.RELEASE]
........
Run Code Online (Sandbox Code Playgroud)
所以我java.lang.NoClassDefFoundError上课了AnnotationMetadataReadingVisitor...基于异常,我假设该类在类路径上出现不止一次.
我已经验证org.springframework.core.type.classreading.AnnotationMetadataReadingVisitor了类路径上确实存在(在war文件中WEB-INF\lib\spring-core-3.2.1.RELEASE.jar).
但据我所知,它是我的类路径中唯一包含该类的jar.
知道我在这里缺少什么吗?
以下是WEB-INF\lib我正在尝试部署的战争的全部内容:
activemq-all-5.5.1.jar
ant-1.7.0.jar
ant-launcher-1.7.0.jar
antlr-2.7.7.jar
antlr-3.3.jar
antlr-runtime-3.3.jar
aopalliance-1.0.jar
aspectjweaver-1.7.1.jar
axiom-api-1.2.12.jar
axiom-dom-1.2.12.jar
axiom-impl-1.2.12.jar
axis2-1.6.1.jar
axis2-adb-1.6.1.jar
axis2-adb-codegen-1.6.1.jar
axis2-ant-plugin-1.6.1.jar
axis2-clustering-1.6.1.jar
axis2-codegen-1.6.1.jar
axis2-corba-1.6.1.jar
axis2-fastinfoset-1.6.1.jar
axis2-java2wsdl-1.6.1.jar
axis2-jaxbri-1.6.1.jar
axis2-jaxws-1.6.1.jar
axis2-jibx-1.6.1.jar
axis2-json-1.6.1.jar
axis2-kernel-1.6.1.jar
axis2-metadata-1.6.1.jar
axis2-mtompolicy-1.6.1.jar
axis2-saaj-1.6.1.jar
axis2-transport-http-1.6.1.jar
axis2-transport-local-1.6.1.jar
axis2-xmlbeans-1.6.1.jar
bcel-5.1.jar
blitzer-1.0.9.jar
c3p0-0.9.1.1.jar
camel-core-2.4.0.jar
camel-xstream-2.4.0.jar
cdjai-1.0.jar
commons-beanutils-1.7.0.jar
commons-cli-1.2.jar
commons-codec-1.3.jar
commons-collections-3.1.jar …Run Code Online (Sandbox Code Playgroud) 我尝试理解以下Perl命令"删除所有连续的空行,只留下一个":
perl -00 -pe ''
Run Code Online (Sandbox Code Playgroud)
首先它没有任何代码,-e是空的.接下来它有一个愚蠢的-00命令行选项.此命令行选项打开段落啜食模式.段落是两个换行符之间的文本.所有其他新行都被忽略了.段落放在"$ _"中," - p"选项将其打印出来.
我不遵循这个解释.也许措辞不准确.
所以"A paragraph is text between two newlines."但每一行都是两个换行符之间的文本.
"All the other newlines get ignored." 但是,两个连续的换行之间没有换行符.
"The paragraph gets put in "$_" and the "-p" option prints it out."由于它是在每两个换行符之间的文本中进行的,因此将整个文件拼凑成一个长行.它看起来像这个命令应该怎么做?
它还说,另一种写它的方法是
perl -00pe0
Run Code Online (Sandbox Code Playgroud)
最右边的0代表什么?
无论如何,我实际想要实现的是删除所有连续的白线,只留下一条空行.白线我指的是一条可能不是空的行,但只有空白字符(和换行符).是否可以修改上述命令以匹配此情况?
我认为Java编译器(Java 11)本身可以推断出实际的泛型类型,如果我给它足够的提示,例如当泛型类型是方法参数并且我作为参数提供实际类型的实例时.
例如,我有以下类:
public class Var<T>
{
public T value;
public Var(T value)
{
this.value = value;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我尝试以下3次尝试,我希望所有人都能编译:
//(1) Compilation error!
Var v = new Var(0);
++v.value;
//(2) Compilation error!
Var v = new Var<Integer>(0);
++v.value;
//(3) Compiles!
Var<Integer> v = new Var(0);
++v.value;
Run Code Online (Sandbox Code Playgroud)
1)我希望(1)编译,因为通过使用Integer(或int)参数,编译器知道实际类型可能就足够了.所以++v.value;我希望编译器知道变量是一个Integer,但事实并非如此.它仍然认为它是一个Object.
2)添加一些显式信息.但编译器仍然无法理解.
3)按预期编译.
然后,我尝试使用var关键字进行类型推断:
//(4) Compilation error!
var v = new Var(0);
++v.value;
//(5) Compiles!
var v = new Var<Integer>(0);
++v.value;
Run Code Online (Sandbox Code Playgroud)
4)同样,我希望(4)编译,因为类型可以从参数中推断出来. …
我查看过去的讨论,但无法理解为什么任何答案都是正确的.
合用的
<*> :: f (a -> b) -> f a -> f b
单子
(>>=) :: m a -> (a -> m b) -> m b
因此,如果我做对了,那么声称是>>=不能仅仅假设存在而写的<*>
好吧,让我们假设我有<*>.
我想创造>>=.
所以我有f a.
我有f (a -> b).
现在当你看它时,f (a -> b)可以写成(a -> b)(如果某个东西是x,y,z的函数 - 那么它也是x,y的函数).
所以从<*>我们得到的存在(a -> b) -> f a -> f b再次可以写成((a -> b) -> f a) …
java ×3
maven ×2
sbt ×2
scala ×2
applicative ×1
classloader ×1
debugging ×1
dependencies ×1
eclipse ×1
functor ×1
generics ×1
haskell ×1
hibernate ×1
intellij-15 ×1
java-10 ×1
jboss7.x ×1
jsf ×1
jvm-bytecode ×1
maven-3 ×1
monads ×1
perl ×1
spring ×1