小编Lau*_*ntG的帖子

Java 7和8中方法的最大大小

我知道Java的方法不能大于64 KB.该限制导致我们从JavaCC语法生成代码的问题.我们遇到了Java 6的问题,并且能够通过更改语法来解决这个问题.是否已针对Java 7更改了限制,还是计划用于Java 8?

只是为了说清楚.我自己不需要大于64 KB的方法.但我写了一个语法,编译成一个非常大的方法.

java java-7 java-8

77
推荐指数
3
解决办法
2万
查看次数

配置com.sun.faces.config.ConfigureListener

我正在审查当前的JSF项目,其中web.xml配置包含:

  • FacesServlet(已配置*.xhtml)
  • com.sun.faces.config.ConfigureListener

我正在使用JSF 2.2和Mojarra实现.

我很困惑ConfigureListener.配置中是否需要此类?这门课的目标是什么?我找不到任何信息,班级几乎没有javadoc.

如果我删除此配置,一切似乎都以相同的方式工作.因此,我想ConfigureListener可以或应该删除,但我不确定.

jsf jsf-2 mojarra

12
推荐指数
1
解决办法
2万
查看次数

使用Selenium捕获404错误

我正在使用Selenium和JUnit与Java,我想知道当通过点击链接打开一个新的弹出窗口时是否发生404错误(我正在搜索像assertTrue(selenium.no404error())这样的东西.

我怎样才能做到这一点 ?

java selenium

10
推荐指数
1
解决办法
8790
查看次数

你如何检索嵌套集?

是否有我缺少的注释或者这是对hibernate检索的限制?

实体:

class A {
   Long id;
   Set<B> b;

   @ManyToMany(fetch = FetchType.EAGER)
   @JoinTable(name = "A_B", joinColumns = @JoinColumn(name = "A_ID"), inverseJoinColumns = @JoinColumn(name = "B_ID")
   public Set<B> getBs() {
      return b;
   }

}

class B {
   Long id;
   Set<C> c;

   @ManyToMany(fetch = FetchType.EAGER)
   @JoinTable(name = "B_C", joinColumns = @JoinColumn(name = "B_ID"), inverseJoinColumns = @JoinColumn(name = "C_ID")
   public Set<C> getCs() {
      return C;
   }

}
Run Code Online (Sandbox Code Playgroud)

的DAO:

class ADaoImpl {    
   public A load(Long id) {
      return new A((A) session.load(A.class, id);
   }
} …
Run Code Online (Sandbox Code Playgroud)

hibernate hibernate-mapping

9
推荐指数
2
解决办法
2226
查看次数

找不到物业类的二传手

现在,我用jsf,spring和ibatis编写示例应用程序.我使用facelets并编写template.xhtml,header.xhtml,menu.xml,login.xhtml和主页.登录后,我发现了这个错误.

在浏览器中,

Setter not found for property class
  + Stack Trace
  + Component Tree
  + Scoped Variables
Run Code Online (Sandbox Code Playgroud)

在控制台中,

21:01:20,890 SEVERE [viewhandler] Error Rendering View[/view/SPAR02.xhtml]
java.lang.IllegalArgumentException: Setter not found for property class
    at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBase.java:1645)
    at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBase.java:1526)
    at com.sun.facelets.tag.jsf.ComponentRule$LiteralAttributeMetadata.applyMetadata(ComponentRule.java:49)
    at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
    at com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:62)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:144)
    at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    at com.sun.facelets.tag.jstl.core.ForEachHandler.apply(ForEachHandler.java:175)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.UserTagHandler.apply(UserTagHandler.java:122)
    at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:337)
    at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:307)
    at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    at com.sun.facelets.tag.jstl.core.ChooseWhenHandler.apply(ChooseWhenHandler.java:45)
    at com.sun.facelets.tag.jstl.core.ChooseHandler.apply(ChooseHandler.java:68)
    at com.sun.facelets.tag.jstl.core.ChooseOtherwiseHandler.apply(ChooseOtherwiseHandler.java:41)
    at com.sun.facelets.tag.jstl.core.ChooseHandler.apply(ChooseHandler.java:73)
    at …
Run Code Online (Sandbox Code Playgroud)

jsf facelets

8
推荐指数
1
解决办法
1万
查看次数

如何在Selenium中填充下拉列表时等待Ajax调用

好的,我有两个下拉列表.列表B基于使用Ajax技术在列表A上进行的选择来填充.

现在的问题是,一旦我选择了表单A的选项,我就无法看到列表B填充,因为Ajax需要花费大量的时间来加载.我想知道如何在这种情况下使用Wait条件为Ajax提供足够的时间来加载.我是初学者,所以如果我的问题听起来很愚蠢,我很抱歉.但我真的很坚持这一点.

我不能用:

WebDriverWait wait = new WebDriverWait(driver,30);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id/xpath)));
Run Code Online (Sandbox Code Playgroud)

因为id xpath等等总是保持不变,即使列表没有填充.

selenium selenium-webdriver

8
推荐指数
1
解决办法
1万
查看次数

创建自定义方法安全表达式的最佳方法

我正在尝试创建自己的方法安全表达式,我想在其中使用@PreFilter@PostFilter注释.

在搜索教程和类似问题时,我发现了两种方法.

第一种是扩展DefaultMethodSecurityExpressionHandler和覆盖createSecurityExpressionRoot,以便进行定制SecurityExpressionRoot.

@PreAuthorize('isOwner(#someEntity)') 
Run Code Online (Sandbox Code Playgroud)

第二种方法是简单地使用@Component类和@Pre/ @Postfilter访问其方法@bean.method()

@PreAuthorize("@mySecurityService.isOwner('#someEntityl')")
Run Code Online (Sandbox Code Playgroud)

我的问题是:哪种方式首选?如果两者都可以,为什么选择另一个?

谢谢Marco

java spring spring-security

6
推荐指数
1
解决办法
2676
查看次数

使用Xtream序列化Java对象

我正在尝试使用Xtream序列化Java对象,但我得到以下sxception

线程"main"中的异常com.thoughtworks.xstream.converters.ConversionException:无法调用java.security.CodeSource.readObject():null

---- Debugging information ----
message             : Could not call java.security.CodeSource.readObject()<br>
cause-exception     : java.lang.RuntimeException<br>
cause-message       : null<br>
class               : java.security.CodeSource<br
required-type       : java.security.CodeSource<br
converter-type      : com.thoughtworks.xstream.converters.reflection.SerializableConverter
path                : /org.openqa.selenium.firefox.FirefoxDriver/executor/connection/process/process/process/executor/streamHandler/outputThread/group/parent/threads/java.lang.Thread/contextClassLoader/parent/defaultDomain/codesource/java.security.CodeSource<br
line number         : 6853<br
class[1]            : java.security.ProtectionDomain<br>
converter-type[1]   : com.thoughtworks.xstream.converters.reflection.ReflectionConverter<br>
class[2]            : sun.misc.Launcher$ExtClassLoader<br>
class[3]            : sun.misc.Launcher$AppClassLoader<br>
class[4]            : java.lang.Thread<br>
class[5]            : [Ljava.lang.Thread;<br>
converter-type[2]   : com.thoughtworks.xstream.converters.collections.ArrayConverter<br>
class[6]            : java.lang.ThreadGroup<br>
class[7]            : org.apache.commons.exec.PumpStreamHandler<br>
class[8]            : org.apache.commons.exec.DefaultExecutor<br>
class[9]            : org.openqa.selenium.os.UnixProcess<br>
class[10]           : org.openqa.selenium.os.CommandLine<br>
class[11]           : org.openqa.selenium.firefox.FirefoxBinary<br>
class[12]           : org.openqa.selenium.firefox.internal.NewProfileExtensionConnection<br>
class[13]           : org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor<br>
class[14] …
Run Code Online (Sandbox Code Playgroud)

serialization xml-serialization deserialization

6
推荐指数
0
解决办法
622
查看次数

将BeanFactory注入Bean

我想将一个Spring注入一个BeanFactoryBean创建的同样BeanFactory 是以任何方式这样做的吗?

顺便说一句,我正在开发一个Web应用程序.如果不是,我知道我可以获得BeanFactory,RequestContext但我想要注入的bean BeanFactory不在requestContext但仍在应用程序上下文中.我能这样做吗?

java spring

6
推荐指数
2
解决办法
6100
查看次数

Maven没有运行JUnit 5测试

我试图用maven运行一个简单的junit测试,但它没有检测到任何测试.我哪里错了?项目目录

Project -> src -> test-> java -> MyTest.java
Run Code Online (Sandbox Code Playgroud)

结果:

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
Run Code Online (Sandbox Code Playgroud)

的pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.buildproftest.ecs</groupId>
    <artifactId>buildprofiletest</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.3.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <debug>false</debug>
                    <optimize>true</optimize>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
Run Code Online (Sandbox Code Playgroud)

Junit测试用例

import org.junit.jupiter.api.Test;

public class MyTest {
    @Test
    public void printTest() {
        System.out.println("Running JUNIT …
Run Code Online (Sandbox Code Playgroud)

junit maven maven-surefire-plugin junit5

6
推荐指数
3
解决办法
2879
查看次数