Tomcat 7经理将war文件大小限制为50 Mo.
我正在使用Grails 2.2,它产生28 Mo的最小WAR.所以,50 Min的极限很容易达到.
I have deployed a Grails 2.2.1 application to a remote server. After a few hours, when I access to home page of the application, I see the following exception:
Error 500: Internal Server Error
URI
/DocGemStudioZoccali/
Class
java.net.SocketException
Message
Broken pipe
Trace
Line | Method
->> 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - …
Run Code Online (Sandbox Code Playgroud) 有没有办法可以创建自己的自定义登录页面并将数据发送到spring security插件的登录控制器.我目前看到我的代码直接重定向到spring security plugin的默认登录页面.
我刚刚将我的一个Grails应用程序升级到2.2.0,它使用的是Groovy 2.0,现在我收到了这个编译错误:
混合使用相同名称的私有和公共/受保护方法会导致多方法被禁用,并且禁止避免出现令人惊讶的行为.重命名私有方法将解决问题.
基于以下代码:
def getRootDomain(key) { }
private getRootDomain() { }
Run Code Online (Sandbox Code Playgroud)
这是一个简单的修复,但我真的很想了解为什么更好.谁可以给我解释一下这个?
当我启动我的grails 2.2.0应用程序时,我随机收到如下错误消息,但它也随机成功启动,没有错误.没有更改代码,我只是尝试grails dev run-app
多次运行.
$ grails dev run-app
Run Code Online (Sandbox Code Playgroud)
我grails clean
之前也试过了,但这没什么区别; 错误仍然随机发生.
启动错误:
| Packaging Grails application.....
webxml.WebxmlGrailsPlugin Loading default config file: class DefaultWebXmlConfig
webxml.WebxmlGrailsPlugin Did not find application config file: WebXmlConfig
webxml.WebxmlGrailsPlugin Loading default config file: class DefaultWebXmlConfig
| Running Grails application
context.GrailsContextLoader [GrailsContextLoader] Loading context. Creating parent application context
context.ContextLoader Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable …
Run Code Online (Sandbox Code Playgroud) 我正在将我的项目从grails 2.2迁移到2.3,当我做test-app时(在IDEA 12.1.6上),我收到了这个错误
| Error Error running forked test-app: Could not load grails build listener class
java.lang.RuntimeException: Could not load grails build listener class
at org.codehaus.groovy.grails.cli.support.GrailsBuildEventListener.addGrailsBuildListener(GrailsBuildEventListener.java:258)
at org.codehaus.groovy.grails.cli.support.GrailsBuildEventListener.loadGrailsBuildListeners(GrailsBuildEventListener.java:106)
at org.codehaus.groovy.grails.cli.support.GrailsBuildEventListener.initialize(GrailsBuildEventListener.java:73)
at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProjectClassExecutor.createEventListener(ForkedGrailsProjectClassExecutor.groovy:102)
at org.codehaus.groovy.grails.cli.fork.testing.ForkedGrailsTestRunner.createInstance(ForkedGrailsTestRunner.groovy:93)
at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProjectClassExecutor.initializeProjectInstance(ForkedGrailsProjectClassExecutor.groovy:85)
at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProjectClassExecutor.run(ForkedGrailsProjectClassExecutor.groovy:72)
at org.codehaus.groovy.grails.cli.fork.testing.ForkedGrailsTestRunner.main(ForkedGrailsTestRunner.groovy:75)
Caused by: java.lang.ClassNotFoundException: org.jetbrains.groovy.grails.rt.GrailsIdeaTestListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:648)
at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:758)
at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:746)
at org.codehaus.groovy.grails.cli.support.GrailsBuildEventListener.addGrailsBuildListener(GrailsBuildEventListener.java:255)
... 7 more
| Error Error running forked test-app: Could not load grails build listener class
| …
Run Code Online (Sandbox Code Playgroud) Groovy具有向现有类添加方法的功能,我发现了一些 有趣的类.
然后我发现我需要自定义我的Grails引导程序来加载它们,所以我添加:
def init = { servletContext -> addExtensionModules() }
def addExtensionModules() {
Map<CachedClass, List<MetaMethod>> map = [:]
ClassLoader classLoader = Thread.currentThread().contextClassLoader
try {
Enumeration<URL> resources = classLoader.getResources(MetaClassRegistryImpl.MODULE_META_INF_FILE)
for (URL url in resources) {
if (url.path.contains('groovy-all')) {
// already registered
continue
}
Properties properties = new Properties()
InputStream inStream
try {
inStream = url.openStream()
properties.load(inStream)
GroovySystem.metaClassRegistry.registerExtensionModuleFromProperties(properties,
classLoader, map)
}
catch (IOException e) {
throw new GroovyRuntimeException("Unable to load module META-INF descriptor", e) …
Run Code Online (Sandbox Code Playgroud) Grails 2.2.0
我正在尝试创建自定义约束以强制用户只有一个主电子邮件.以下是导致错误的简化代码:
用户域类
class User {
static hasMany = [emails: Email]
static constraints = {
}
}
Run Code Online (Sandbox Code Playgroud)
电子邮件域类
class Email {
static belongsTo = [user: User]
String emailAddress
Boolean isMaster
static constraints = {
emailAddress unique: ['user']
isMaster validator: { val, obj ->
return !val || Email.findByUserAndIsMaster(obj.user, true) == null
}
}
}
Run Code Online (Sandbox Code Playgroud)
整合测试
class EmailTests {
@Before
void setUp() {
}
@After
void tearDown() {
// Tear down logic here
}
@Test
void testSomething() {
def john = …
Run Code Online (Sandbox Code Playgroud) 我无法从Groovy/Grails Tool Suite构建Grails 2.2.3项目.war文件名是动态的,并不总是正确设置.第一个构建会很好,但任何连续的构建都将具有以前的文件名.
我正在使用@Burt Beckwith在基于环境的Grails war文件名中确定的几乎所有技术来创建包含环境和日期/时间的战争.所以输出战应该像myapp-1.3-TEST-2013_12_02-11_31.war或myapp-1.3-PRODUCTION-2013_12_02-12_00.war
BuildConfig.groovy如下:
grails.project.war.file = "target/${appName}-${appVersion}-${grails.util.Environment.current}-${new Date().format('yyyy_MM_dd-HH_mm')}.war"
Run Code Online (Sandbox Code Playgroud)
如果我从命令行构建,则不存在此问题.我正在使用Groovy/Grails工具套件版本3.3.0.发布ID为201307091644.Java版本为1.6.我在Windows 7 64位机器上.
我第一次运行" 测试战争 "时,正确生成/输出以下内容:
Loading Grails 2.2.3
| Configuring classpath.
| Environment set to test.....
| Packaging Grails application..
| Compiling 179 source files
Note: C:\Users\me\.grails\2.2.3\projects\myapp\plugins\cache-1.0.0\src\java\grails\plugin\cache\web\GenericResponseWrapper.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
| Compiling 179 source files..
| Compiling 31 source files.....
| Compiling 66 GSP files for package [myapp]..
| Compiling 4 GSP files for package [mail].. …
Run Code Online (Sandbox Code Playgroud) 我们有一个Grails 2.2.4项目,我正在寻找一些工作.六个月没有完成任何工作,但当时建立得很好.
当我尝试grails clean
现在运行时,我收到了许多无法解决的相关错误.尽管几个月前所有的依赖都运行得很好.在那个时间内在存储库方面有什么变化吗?
我已将BuildConfig.groovy中的日志级别更改log "warn"
为错误消息的建议.有趣的是,当我尝试通过浏览器下载构建试图解决的一些URL时,它们下载得很好.我不确定为什么构建过程无法下载.
==== grailsCentral: tried
http://grails.org/plugins/grails-quartz/tags/RELEASE_1.0.2/quartz-1.0.2.pom
-- artifact org.grails.plugins#quartz;1.0.2!quartz.zip:
http://grails.org/plugins/grails-quartz/tags/RELEASE_1.0.2/grails-quartz-1.0.2.zip
Run Code Online (Sandbox Code Playgroud)
以下是现在没有解决的所有依赖项:
::::::::::::::::::::::::::::::::::::::::::::::
:: UNRESOLVED DEPENDENCIES ::
::::::::::::::::::::::::::::::::::::::::::::::
:: org.grails.plugins#asset-pipeline;2.1.3: not found
:: org.grails.plugins#less-asset-pipeline;2.0.8: not found
:: org.grails.plugins#rest;0.8: not found
:: org.grails.plugins#quartz;1.0.2: not found
::::::::::::::::::::::::::::::::::::::::::::::
Run Code Online (Sandbox Code Playgroud) grails-2.2 ×10
grails ×9
groovy ×2
constraints ×1
exception ×1
grails-2.3 ×1
groovy-2 ×1
hibernate ×1
java ×1
maven ×1
mysql ×1
spring ×1
tomcat ×1
tomcat7 ×1
war ×1