Spring Web 项目配置Dataway启动报错,显示dataway is ?400报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Spring Web 项目配置Dataway启动报错,显示dataway is ?400报错

爱吃鱼的程序员 2020-06-05 13:52:06 315

我把dataway属性配置写在了spring的application.properties里面,但是web项目启动的时候显示dataway is disable,我看文档上面说hasor是自动关联spring配置文件的,想请问下这是什么原因?

application.properties配置:

HASOR_DATAQL_DATAWAY=true
HASOR_DATAQL_DATAWAY_ADMIN=true
HASOR_DATAQL_DATAWAY_API_URL=/api/
HASOR_DATAQL_DATAWAY_UI_URL=/interface-ui/
HASOR_DATAQL_FX_PAGE_DIALECT=oracle

applicationContext.xml

<context:property-placeholder  location="classpath:/conf/application.properties" />

Web.xml代码:

<listener>
	    <listener-class>net.hasor.web.startup.RuntimeListener</listener-class>
	</listener>
	<filter>
	    <filter-name>rootFilter</filter-name>
	    <filter-class>net.hasor.web.startup.RuntimeFilter</filter-class>
	</filter>
	<filter-mapping>
	    <filter-name>rootFilter</filter-name>
	    <url-pattern>/*</url-pattern>
	</filter-mapping>
	<context-param>
	    <param-name>hasor-root-module</param-name>
	    <param-value>zhi.sys.hasor.StartModule</param-value>
	</context-param>

Java代码:

@DimModule
@Component
public class StartModule implements SpringModule {
	
	@Autowired
    private DataSource dataSource ;
	

	@Override
	public void loadModule(ApiBinder apiBinder) throws Throwable {
		apiBinder.installModule(new JdbcModule(Level.Full, this.dataSource));
		System.out.println("------Project Start------");
	}

}

 

Oracle Java 关系型数据库 API Spring
分享到
取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-05 13:52:19
                        <p>错误日志:</p> 
    

    2020-05-21 16:38:44  INFO [RuntimeListener.java:99] - properties file is undefinition.
      2020-05-21 16:38:44  INFO [RuntimeListener.java:91] - web initModule is zhi.sys.hasor.StartModule
      2020-05-21 16:38:44  INFO [   Hasor.java:224] - runMode at Full ,runPath at C:\Users\Administrator\Desktop\eclipse-jee-oxygen-2-win32-x86_64\eclipse
      2020-05-21 16:38:44  INFO [StandardContextSettings.java:130] - addConfig '/META-INF/hasor-framework/core-hconfig.xml' in 'jar:file:/E:/woke/tomcat-gfzq-khda(8080)/webapps/gfzq-khda/WEB-INF/lib/hasor-core-4.1.7.jar!/META-INF/hasor.schemas'
      2020-05-21 16:38:44  INFO [StandardContextSettings.java:130] - addConfig '/META-INF/hasor-framework/dataql-hconfig.xml' in 'jar:file:/E:/woke/tomcat-gfzq-khda(8080)/webapps/gfzq-khda/WEB-INF/lib/hasor-dataql-4.1.7.jar!/META-INF/hasor.schemas'
      2020-05-21 16:38:44  INFO [StandardContextSettings.java:130] - addConfig '/META-INF/hasor-framework/dataql-fx-hconfig.xml' in 'jar:file:/E:/woke/tomcat-gfzq-khda(8080)/webapps/gfzq-khda/WEB-INF/lib/hasor-dataql-fx-4.1.7.jar!/META-INF/hasor.schemas'
      2020-05-21 16:38:44  INFO [StandardContextSettings.java:130] - addConfig '/META-INF/hasor-framework/dataway-hconfig.xml' in 'jar:file:/E:/woke/tomcat-gfzq-khda(8080)/webapps/gfzq-khda/WEB-INF/lib/hasor-dataway-4.1.7.jar!/META-INF/hasor.schemas'
      2020-05-21 16:38:44  INFO [StandardContextSettings.java:130] - addConfig '/META-INF/hasor-framework/db-hconfig.xml' in 'jar:file:/E:/woke/tomcat-gfzq-khda(8080)/webapps/gfzq-khda/WEB-INF/lib/hasor-db-4.1.7.jar!/META-INF/hasor.schemas'
      2020-05-21 16:38:44  INFO [StandardContextSettings.java:130] - addConfig '/META-INF/hasor-framework/web-hconfig.xml' in 'jar:file:/E:/woke/tomcat-gfzq-khda(8080)/webapps/gfzq-khda/WEB-INF/lib/hasor-web-4.1.7.jar!/META-INF/hasor.schemas'
      2020-05-21 16:38:44  INFO [AbstractEnvironment.java:240] - loadPackages = com.*, net.*, net.hasor.*, net.hasor.dataql.*, net.hasor.dataql.fx.*, net.hasor.dataway.*, net.hasor.db.*, net.hasor.web.*, org.*
      2020-05-21 16:38:44  INFO [TemplateAppContext.java:389] - loadModule class net.hasor.dataway.config.DatawayModule
      2020-05-21 16:38:44  INFO [DatawayModule.java:54] - dataway is disable.
      2020-05-21 16:38:44  INFO [TemplateAppContext.java:389] - loadModule class net.hasor.web.render.RenderWebPlugin
      2020-05-21 16:38:44  INFO [TemplateAppContext.java:389] - loadModule class net.hasor.core.exts.startup.StartupModule
      2020-05-21 16:38:44  INFO [TemplateAppContext.java:389] - loadModule class net.hasor.core.exts.aop.AopModule
      2020-05-21 16:38:44  INFO [TemplateAppContext.java:389] - loadModule class net.hasor.dataql.fx.FxModule
      2020-05-21 16:38:44  INFO [TemplateAppContext.java:389] - loadModule class zhi.sys.hasor.StartModule
      五月 21, 2020 4:38:44 下午 org.apache.catalina.core.StandardContext listenerStart
    严重: Exception sending context initialized event to listener instance of class net.hasor.web.startup.RuntimeListener
    java.lang.NullPointerException

                        <p>参数没有生效,看你的例子应该不是 Spring Boot 工程,参考一下 Xml 方式整合。</p> 
    

    Spring Xml 方式整合 Hasor    -    https://www.hasor.net/web/extends/spring/for_xml.html
    Spring Boot 方式整合 Hasor    -    https://www.hasor.net/web/extends/spring/for_boot.html

    Hasor 和 Spring 需要先做整合。

     

    最主要的是你需要初始化  hasor。

                            回复 <a class="referer" target="_blank">@阿布菲达</a>  : 不用,可以整合到你 已有的 spring 配置文件里面。 引入一下那个 h 标签。
                        
    
                            需要重新写一个.xml文件引用吗?
                        
    
                        <p>哦对了,还有一个我不太确定。你按照上面方式配置之后如果还没有生效,那么就需要</p> 
    

    新建一个类 集成一下 RuntimeListener,手动的把 Spring 容器中的那个 Hasor 容器拿出来。丢到 RuntimeListener 里面。

     

    因为 Xml 方式现在用的人不多,这块还没有做深入优化。

                            我把最新的问题回答在下面,你看一下
                        
    
                        <p>我把web.xmlde的<context-param>代码段注释掉,然后改为在application.xml里面启动StartModule,这样dataway又没问题了,但是我输入地址访问/interface-ui/的时候,又出现了No mapping found for HTTP request with URI的问题,但这个应该不是路径被拦截的问题吧。</p> 
    

                            回复 <a class="referer" target="_blank">@阿布菲达</a>  : 可以方便提供一个样板工程吗? 我做一下调试在发给你。 正好也可以沉淀下来扔到 首页上去。
                        
    
                            回复 <a class="referer" target="_blank">@哈库纳</a>  : 我是改为新增一个hconfig.xml文件,在里面配了<hasor.modules>
        <module>net.hasor.StartModule</module>
    </hasor.modules>标签,这样是可以自动获取spring配置的dataway属性,但在后面就报错的。
                        
    
                            回复 <a class="referer" target="_blank">@哈库纳</a>  : 你好,现在可以读取dataway的配置属性,但是后来出现 BeanCreationException: Error creating bean with name 'net.hasor.core.AppContext': Invocation of init method failed; nested except异常,请问这是漏了步骤吗?
                        
    
                            回复 <a class="referer" target="_blank">@阿布菲达</a>  : 其实主要是 和 spring 的集成度的问题造成的。 如果不是 web 项目自然会简单很多。
                        
    
                            回复 <a class="referer" target="_blank">@哈库纳</a>  : 这个问题和是否是web项目启动无关吗?
    
    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程