我有一个复合键ContractServiceLocationPK做出来的三个ID.( ,,contractId 在嵌入类型长).使用此复合键的类使用注释将这些ID映射到其对象.这是它的样子(删除了setter/getters和不相关的属性):locationIdserviceIdContractServiceLocation@MapsId
合同
@Entity
@Table(name = "Contract")
public class Contract implements Serializable {
public Contract() {
}
@Id
@GeneratedValue
private long id;
@OneToMany(mappedBy = "contract", cascade = CascadeType.ALL, fetch= FetchType.EAGER)
Collection<ContractServiceLocation> contractServiceLocation;
}
Run Code Online (Sandbox Code Playgroud)
ContractServiceLocationPK
@Embeddable
public class ContractServiceLocationPK implements Serializable {
private long contractId;
private long locationId;
private long serviceId;
}
Run Code Online (Sandbox Code Playgroud)
ContractServiceLocation
@Entity
@Table(name="Contract_Service_Location")
public class ContractServiceLocation implements Serializable {
@EmbeddedId
ContractServiceLocationPK id;
@ManyToOne(cascade = CascadeType.ALL)
@MapsId("contractId")
Contract contract;
@ManyToOne(cascade = CascadeType.ALL) …Run Code Online (Sandbox Code Playgroud) 基本上如标题所说。Apache HttpClient 和 Spring RestTemplate 允许定义自定义拦截器,这些拦截器环绕请求/响应并允许额外(全局)修改请求参数、日志记录等......
我在标准 Java 实现中没有看到这样的功能java.net.http.HttpClient(从 Java 11 开始)。我是否遗漏了某些东西,或者没有办法在单个上拦截所有请求/响应HttpClient?
我正在使用angularjs和spring mvc编写一个webapp作为REST服务提供者和一个部分视图提供者(我也使用angular-ui-router,这样我就可以有多个嵌套的部分).我目前对模板语言没有任何用处,因为我计划用角度做所有事情,但是我尝试过的每一个视图解析器都有某种类型的模板语言与angular冲突并且崩溃应用程序和/或填充我的日志有错误.
首先我尝试使用InternalResourceViewResolver,但没有运气,因为它似乎只需要.jsp文件,并且不会显示任何其他内容.
然后我尝试使用Thymeleaf.Thymeleaf遵循XML标准,迫使我重写我的大多数html以遵循xml要求,并且在我完成之后,它在遇到&&ng-show指令内部时死亡.所以也没有运气.
然后我尝试了Velocity.到目前为止,我对速度感到非常幸运.它很好地提供了html文件,在遇到解析错误时不会停止,并允许我以与InternalResourceViewResolver相同的方式提供部分视图.然而,在遇到以$Velocity为前缀的角度变量时,会尝试将它们解析为VTL变量,并使用类似的消息填充我的日志
velocity - Null reference [template 'clients/createOrEdit.html', line 1, column 65] : $invalid cannot be resolved.
一切都在继续,但我不是那个只留下错误的人,而且我发现没有办法禁用VTL.
这是我目前使用视图解析器的经验.
我也有一个想法将.html文件视为静态资源(它们有点像角度之前它的魔力)使用mvc:resources但没有任何视图解析器我的应用程序无法启动,即使我将主layout.html设置为欢迎-file在web.xml中
我的问题是.我应该使用什么作为视图解析器,以便它与angularjs一起使用,如果我甚至应该使用视图解析器?
编辑:我正在尝试使用ContentNegotiatingViewResolver,我得到:
DEBUG ContentNegotiatingViewResolver - Requested media types are [text/html] based on Accept header types and producible media types [*/*])
DEBUG ContentNegotiatingViewResolver - No acceptable view found; returning null
DEBUG DispatcherServlet - Could not complete request
javax.servlet.ServletException: Could not resolve view with name 'layout.html' in servlet with name …Run Code Online (Sandbox Code Playgroud) 对于在 Linux 上运行的 JDK 14 应用程序,添加以下 JVM 参数
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
结果出现以下错误
Starting Main...
ERROR: transport error 202: socket creation failed: Address family not supported by protocol
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [open/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c:734]
Run Code Online (Sandbox Code Playgroud)
将地址从 更改为*:5005似乎localhost:5005可行,但它仅绑定到本地主机。我知道在 JDK 12 上有效的事实*:5005,但我找不到任何与此相关的更改,事实上 JPDA 规范仍然提到了*jse 14 的选项https://docs.oracle.com/en/java/javase/14/文档/规格/jpda/conninv.html。有人知道我可以研究什么吗?这是一个错误还是一个我似乎找不到文档的功能。
在Groovy中,只需将变量放在里面就可以测试null和empty的集合,如下所示:
def collection = [ 'test' ]
if(!collection) {
//Collection is either null or empty, handle exceptional business here
}
Run Code Online (Sandbox Code Playgroud)
但是,当放在@CompileStatic包含这样的代码的类上时,它会停止工作(但仅限于Android)并出现错误:
02-16 20:49:03.837: E/AndroidRuntime(9013): org.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack: No signature of method: java.util.ArrayList.asBoolean() is applicable for argument types: () values: []
Run Code Online (Sandbox Code Playgroud)
运行桌面版时似乎不会发生这种情况.
提供更多背景信息.这是一个生成的LibGDX项目,包含三个项目(-core,-desktop,-android),其中-core项目已转换为groovy项目.引用了-core项目,以及-desktop和-android项目的依赖项
无论是否使用@CompileStatic注释注释类,并且正确识别Groovy Truth,桌面版本都可以正常工作.
另一方面,在Android上,出现上述错误.
我没有使用grooid库,因为转换为groovy的项目在桌面和android之间共享.
如果它有任何价值,这里是build.gradle项目级别的内容:
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
classpath 'org.codehaus.groovy:gradle-groovy-android-plugin:0.3.5'
}
}
allprojects {
apply plugin: "eclipse"
apply plugin: "idea"
version = '1.0'
ext {
appName …Run Code Online (Sandbox Code Playgroud) 我已经有了一个想法,点击输入框将显示和拉伸的搜索"按钮".然而,我没有使用不可见的复选框,而是决定尝试使用标签,因为单击标签会将焦点放在标签所连接的元素上.虽然提供焦点并进行基本转换确实有效,但我似乎无法使用visibility: hidden/visible或隐藏/显示文本框display: none/inline-block.而且我不想仅仅依赖于不透明度,因为即使它被隐藏也可以找到/点击文本框.
目前的尝试:JsFiddle
为什么这不起作用?我究竟做错了什么?
我在公司网络上,所以为了检索我们使用 Nexus 的依赖项。Grails 存储库已添加到 nexus 存储库中,所以现在剩下的就是配置 grails 以使用 nexus。
对于 Java Maven 项目的开发,我只需要指定它settings.xml应该关注哪个文件,因为 Nexus URL 和凭据存储在那里。
现在我们切换到 Grails,在创建新项目时,grails 在配置类路径上挂起大约 200 秒(因为它被配置为在 200 秒后超时),然后说:
Resolve error obtaining dependencies: Failed to read artifact descriptor for jline:jline:jar:2.12 (Use --stacktrace to see the full trace)
Error |
Required Grails build dependencies were not found. This is normally due to internet connectivity issues (such as a misconfigured proxy) or missing repositories in grails-app/conf/BuildConfig.groovy. Please verify your configuration to continue.
Process was killed
Run Code Online (Sandbox Code Playgroud)
现在这可能是 …
假设我想A通过从类B中复制值来实例化类的对象,这是常见的做法,例如,在映射DTO时。为了在Java或Groovy中实现此目的,我将在适当的DTO上创建带有签名的静态方法fromB(A a),然后a.val = b.val...在Java中或a.with { val = b.val... }在Groovy中使用复制值。
在Kotlin中,我注意到它instance.apply{}与Groovy的相似之处with在于,它允许我直接访问对象变量,而无需不断引用对象本身,因为该引用似乎隐含在闭包中。
但是,在伴侣对象中使用Apply时遇到了一个奇怪的意外错误。如果我A().apply {}在A的伴随对象的函数中使用,Expression is inaccessible from a nested class 'Companion', use 'inner' keyword to make the class inner则会收到一个奇怪的错误,因为我直接在对象的实例上调用apply,因此希望我始终可以访问它的公共属性。更不用说似乎不能将伴随对象设置为inner错误对象,因此错误消息中的建议并不是很有帮助。
这是完整的示例代码:
fun main(args: Array<String>) {
val b = B("Hello", "World")
val a = A.fromB(b)
print("$a.value1 $a.value2")
}
class A() {
var value1: String? = null
var value2: String? = null
companion object { …Run Code Online (Sandbox Code Playgroud) 在这样的模块结构中:
项目
|
|- 通用模块
|- 应用模块
在 app 模块具有公共模块作为依赖项的情况下,我在公共模块中定义了一个自定义类加载器类。app 模块有一个-Djava.system.class.loader=org.project.common.CustomClassLoaderjvm 参数集来使用公共模块中定义的自定义类加载器。
在 IDEA 中运行一个 spring boot 项目,这非常有效。找到自定义类加载器,设置为系统类加载器,一切正常。
编译一个可运行的 jar(使用没有任何自定义属性的默认 spring-boot-maven-plugin),jar 本身包含所有类,并且在它的 lib 目录中是具有自定义类加载器的公共 jar。但是运行 jar 的-Djava.system.class.loader=org.project.common.CustomClassLoader结果是以下异常
java.lang.Error: org.project.common.CustomClassLoader
at java.lang.ClassLoader.initSystemClassLoader(java.base@12.0.2/ClassLoader.java:1989)
at java.lang.System.initPhase3(java.base@12.0.2/System.java:2132)
Caused by: java.lang.ClassNotFoundException: org.project.common.CustomClassLoader
at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@12.0.2/BuiltinClassLoader.java:583)
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@12.0.2/ClassLoaders.java:178)
at java.lang.ClassLoader.loadClass(java.base@12.0.2/ClassLoader.java:521)
at java.lang.Class.forName0(java.base@12.0.2/Native Method)
at java.lang.Class.forName(java.base@12.0.2/Class.java:415)
at java.lang.ClassLoader.initSystemClassLoader(java.base@12.0.2/ClassLoader.java:1975)
at java.lang.System.initPhase3(java.base@12.0.2/System.java:2132)
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?是因为在可运行的 jar 中,类加载器类位于 lib 目录中的 jar 中,因此类加载器试图在将 lib 类添加到类路径之前进行设置?除了将类加载器从 common 移动到所有其他需要它的模块之外,我还能做些什么吗?
编辑:我尝试将自定义类加载器类从通用模块移动到应用程序,但我仍然遇到相同的错误。这里发生了什么?
基本上我试图让SFML和Box2D在VS2012下一起工作.我让他们两个独立工作,但我不能让他们一起工作.
如果我尝试一起运行它们,我会得到一堆:
error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MTd_StaticDebug' in Main.obj
Run Code Online (Sandbox Code Playgroud)
如果我将属性中的RuntimeLibrary值从MDd更改为MTd,则会出现一堆错误,例如:
error LNK2005: __amsg_exit already defined in MSVCRTD.lib(MSVCR110D.dll)
error LNK2005: __cexit already defined in MSVCRTD.lib(MSVCR110D.dll)
error LNK2005: __exit already defined in MSVCRTD.lib(MSVCR110D.dll)
Run Code Online (Sandbox Code Playgroud)
一堆那些以及两个警告:
warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library`
warning LNK4098: defaultlib 'libcmtd.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
Run Code Online (Sandbox Code Playgroud)
如果我也不工作,我得到一堆类似的错误:
error LNK2001: unresolved external symbol __purecall
对于SFML,我非常肯定我正确地构建了它.另一方面,对于Box2D,我不太确定.我使用了本指南,你可以看到它适用于VS2010.但是我在构建和HelloWorld.cpp示例时没有遇到任何问题.
那么我可以做些什么来完成这项工作?
编辑:我已经让它工作,但只有调试版本我做的是我尝试重建Box2D库作为/ MTd进行调试和/ MT发布调试一个内置正常,而发布版本没有.
调试版本工作正常,但发布版本抛出
warning …Run Code Online (Sandbox Code Playgroud) java ×5
groovy ×2
spring ×2
android ×1
angularjs ×1
box2d ×1
c++ ×1
classloader ×1
css ×1
css3 ×1
grails ×1
hibernate ×1
html ×1
http ×1
interceptor ×1
jdwp ×1
jpa ×1
kotlin ×1
libgdx ×1
many-to-one ×1
maven ×1
one-to-many ×1
sfml ×1
spring-boot ×1
spring-mvc ×1
truthiness ×1