【问题标题】:org.apache.wicket.markup.MarkupNotFoundException: Can not determine Markup. Component is not yet connected to a parentorg.apache.wicket.markup.MarkupNotFoundException:无法确定标记。组件尚未连接到父组件
【发布时间】:2018-05-13 11:04:23
【问题描述】:

我运行 gradle 脚本,依赖于 jupiter、wicket spring boot start 和 springboot starter

buildscript {
    repositories {
        mavenCentral()
        // The following is only necessary if you want to use SNAPSHOT releases.
        // maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
    }
    dependencies {
        classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.2'
    }
}

apply plugin: 'org.junit.platform.gradle.plugin'

// Apply the java-library plugin to add support for Java Library
apply plugin: 'java'

junitPlatform {
    reportsDir file('build/test-results/junit-platform') // this is the default
    enableStandardTestTask true
    // selectors (optional)
    // filters (optional)
}

// In this section you declare where to find the dependencies of your project
repositories {
    // Use jcenter for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    jcenter()
}

dependencies {// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter
compile group: 'org.springframework.boot', name: 'spring-boot-starter', version: '1.5.9.RELEASE'
// https://mvnrepository.com/artifact/com.giffing.wicket.spring.boot.starter/wicket-spring-boot-starter
compile group: 'com.giffing.wicket.spring.boot.starter', name: 'wicket-spring-boot-starter', version: '2.0.4'
}

dependencies {
    testCompile("org.junit.jupiter:junit-jupiter-api:5.0.2")
    testRuntime("org.junit.jupiter:junit-jupiter-engine:5.0.2")
}

dependencies {
    testCompile("junit:junit:4.12")
    testRuntime("org.junit.vintage:junit-vintage-engine:4.12.2")
}

在测试中

package steinKo.ATM.Web.test.unit;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.Test;

class HomePageTest {
    private WicketTester tester;

    @Test
    public void shouldRender() {
        tester = new WicketTester();
        tester.startPage(HomePage.class);
        tester.assertRenderedPage(HomePage.class);
    }
}

在课堂上

package steinKo.ATM.Web;

import org.apache.wicket.markup.html.WebPage;

public class HomePage extends WebPage{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

}

用html

插入 标题在这里

我收到以下错误消息

2:57:15.185 [主要] 调试 org.apache.wicket.core.util.resource.locator.ResourceStreamLocator - 尝试使用定位资源 'org/apache/wicket/Page.html' finder'[webapppath: /]' 22:57:15.185 [main] DEBUG org.apache.wicket.core.util.resource.locator.ResourceStreamLocator - 尝试使用定位资源 'org/apache/wicket/Page.html' finder'[classpath: META-INF/resources/]' 22:57:15.186 [main] DEBUG org.apache.wicket.markup.MarkupCache - 未找到标记: steinKo.ATM.Web.HomePage_nb_NO.html 22:57:15.195 [主要] 调试 org.apache.wicket.page.PageAccessSynchronizer - 'main' 试图 获取 ID 为“0”的页面的锁定 22:57:15.195 [main] DEBUG org.apache.wicket.page.PageAccessSynchronizer - 主要获得锁到 第 0 页 22:57:15.229 [main] WARN RequestCycleExtra - ************************************ 22:57:15.232 [main] WARN RequestCycleExtra - 处理以下异常 org.apache.wicket.markup.MarkupNotFoundException:无法确定 标记。组件尚未连接到父级。 [第1234562页= steinKo.ATM.Web.HomePage,id = 0,渲染计数 = 1]

我认为错误是由于在 Gradle 中 Homepage.java 和 HomePage.hlml 之间缺乏链接造成的
我该如何解决这个错误?

【问题讨论】:

  • 我已经稍微清理了你的 sn-ps。如果您可以将示例缩小到重现错误所需的最低限度,那就太好了。我数不清你的代码中有多少个按钮,甚至没有开始阅读 html。或者错误消息,就此而言。
  • 希望编辑让问题更清晰
  • HomePage.html 文件是否与HomePage.java 文件在同一个包中?如果是这样:可能需要指示 Gradle 在源目录中包含 HTML 文件作为应用程序的一部分
  • HomePage.html 和 HomePage.jave 在同一个包和目录中。如何指示 Gradle 包含 HTML 文件?
  • 只需将所有资源(即非Java源代码文件,如您的HTML)从src/test/java文件夹结构移动到src/test/resources结构。

标签: java eclipse wicket junit5 gradle-eclipse


【解决方案1】:

解决办法

sourceSets {
    main {
        java {
            srcDirs = ['src/main/java']
        }
        resources {
            srcDirs = ['src/main/java','src/main/resources']
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 2010-11-06
    • 2019-02-11
    相关资源
    最近更新 更多