# springbootcalc **Repository Path**: AlphF_admin/myspringbootlearn ## Basic Information - **Project Name**: springbootcalc - **Description**: 我的springboot 学习,让springboot支持 gsp页面渲染 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-02-25 - **Last Updated**: 2022-08-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README /* 指定本地仓库地址 */ maven { url "file://E:/githubrepo/releases" } gradle --> maven 在build.gradle中增加以下内容(group,version可自行修改,artifactId默认为目录名称) apply plugin: 'java' apply plugin: 'maven' 问题,想着用springboot 里面引入gsp 就可以即简洁又可以使用好用的gsp啦,但是引了个 org.grails:grails-gsp-spring-boot:1.0.0 根本不够 不能解析select标签和set标签 而且 org.grails:grails-gsp-spring-boot:1.0.0 已经带过来很多jar包了 org.grails:grails-spring:2.4.4 org.springframework.boot:spring-boot-cli:1.1.11.RELEASE org.springframework.boot:spring-boot-autoconfigure:1.5.10.RELEASE org.grails:grails-web-gsp:2.4.4 org.grails:grails-web-gsp-taglib:2.4.4 如果直接引用grails里面的gsp会咋样呢? 引入gsp的select 包:org.grails:grails-plugin-gsp:2.4.4 也不好使,他们没关联在一起么? 可以查看这个项目https://github.com/grails/grails-boot 感觉这个rabbytes 网站也想把gsp继承到spring中去 http://knowledgebase.rabbytes.com/display/rabbtordoc/GSP+%28+Groovy+Server+Pages+%29+Template+Engine ---------------------------------- 都引入了 但是没有启动视图解析器吧 would dispatch back to the current handler URL [/calc] again. Check your ViewResolver setup! 引入视图解析器: mySpringboot.GspConfig tagLibClasses={}里可以写 自定义的taglib类 或者扫包位置:@GspTagLibScan (basePackages={"com.mypackage", "com.otherpackage"}) 用formTagLib 总是,时而加载时而不加载,不知道哪出了问题? 无耐只能用父类覆盖,但是还是有很多问题,换个selec便签 从grails复制了n多代码.... DONE 2018年3月6日 09:04:25 --------------------------- 引js又出了问题,页面总有几个js加载不进去! 可能是我引包的格式不对: 类似写js脚本的script一样 type 和前后script标签都要。 2018年3月6日 09:16:30 todo 改成本地引jar再传到git上,本地svn出了问题免得用不了啊 -------------------------------------- 为什么同样的样式和js 显示出来的效果会不一样呢? label标签加粗的效果被覆盖了 看grails上导入的css中有个compile=false 难道是这个导致的? DONE 因为引入css的次序不一样,导致 BootStrap里的样式覆盖了我写的css, 所以自定义的要最后引!! ----------------------------------------- 关于springboot的war包!和热加载 改成war包的形式要修改启动类 @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(HelloSpringBoot.class); } 但是覆盖的标签在tomcat下不太好使,用的是之前的未覆盖的 改成自定义的tagLib试试 但是自定义的不太好使,什么 方法 不太懂: C:\Users\jiangfeng\.IntelliJIdea2017.2\system\compile-server\myspringbootlearn_81a196d7\groovyStubs\myspringbootlearn_main\java-production\taglib\FormTagLib.java Error:(97, 84) java: 已在类 taglib.FormTagLib中定义了方法 getTaglibNamespace() Error:(101, 84) java: 已在类 taglib.FormTagLib中定义了方法 propertyMissing(java.lang.String) 懂啥意思了,groovy和java 编译弄混了,交叉编译了 这是啥意思?? 编译的问题?? 这个包明明定义好了啊 C:\workPlace\myspringbootlearn\src\main\java\mySpringboot\GspConfig.java Error:(5, 14) java: 程序包taglib不存在 Error:(11, 30) java: 找不到符号 符号: 类 MyFormTagLib ------------------------------------------------ 想直接把源码工程引过来,直接使用源码 但是gradle 不会用,没法让他们成为一个工程 Error:(3, 0) Could not find method compile() for arguments [project ':rabbtor-common'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. Open File Cannot infer Groovy class path because no Groovy Jar was found on class path: configuration ':compileClasspath' 突然不让打包了?? 为啥?说是没有groovy的jar包不能编译groovy? 直接把 apply plugin: 'groovy'注释了 就可以啦? 加入了 compile "org.codehaus.groovy:groovy-all:2.4.11" 报的错变了 ----------------------------- 不知道怎么折腾一阵子又好了。。。 不报编译的错了,直接把select那个类拿过来也能复用 直接能使用了,就是打包出了问题 -------------------------------------- todo 为什么用jar包直接引入 会报错: ava.lang.NoClassDefFoundError: org/grails/plugins/web/taglib/RenderTagLib at com.rabbtor.gsp.config.annotation.WebTagLibraryLookupRegistrar.registerDefaultTagLibClasses(WebTagLibraryLookupRegistrar.groovy:36) ~[rabbtor-web-gsp-1.0.5.BUILD-SNAPSHOT.jar:na] 而用 gradle 本地缓存则可以 ancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [mySpringboot.GspConfig]; nested exception is java.lang.NoClassDefFoundError: groovy/lang/GroovyObject 主要还是groovy的问题,可能是直接引用的jar还有各种依赖没有打进去。例如grails 、和groovy的包 DONE 结论:本地直接引入jar很麻烦,因为jar包里面定义了 大量依赖,例如groovy,grails ,这种引入方式却无法加入进去。 // 引入goorvy,要不然放tomcat下没法运行 // compile "org.codehaus.groovy:groovy-all:2.4.13" // rabbtor 需要的 // compile "org.grails:grails-web-gsp-taglib:3.1.6" 要看一个jar包的依赖可以 看本地缓存的 pom.xml文件,这个配置得最仔细! gradlew properties 命令特别好使,可以看到现有插件可以提供哪些属性和任务,以及默认值: 所以最终放弃本地引jar包。 --------------------------------------------------------- todo 直接把源码拿过来,使用项目依赖的方式来导入。见另外一个项目 mygradleLearn todo 使用本地的gradle 不好用,所以gradlew的脚本不好使,还是得靠idea配置好的gradle来构建项目。