Java问:
我喜欢简单网页的CSS,但是在现实世界中却不喜欢CSS,因为您会收到css explosion和很多重复的内容。
我很想使用Sass和或Compass,但是它们是Ruby程序,很可能需要一些有趣的Maven + JRuby才能从事Java Web应用程序开发工作。如果您使用的是Eclipse或任何支持与正在运行的Web应用程序同步的IDE,这也将变得很困难。
在Java的 hell 中,是否有CSS的 hell 更好的选择?
最佳答案
最近,我使用类似的技术LessCss走上了同样的路。最初,我试图将JRuby嵌入到构建生命周期中。但是不幸的是,Maven + JRuby是一个怪物,它运行缓慢,庞大且存在错误(有一半的时间甚至无法启动,因为它会提示正在运行的文件路径)。
幸运的是,现在有一个LessCss的JavaScript端口,我现在通过Mozilla Rhino嵌入了该端口。我describe the process in this blog post。
昨天,尽管我将它带入了一个新的水平,但制作了一个Maven LessCss插件以最大程度地减少POM配置和代码重复。不幸的是,我无法共享它,因为它是当前客户的专有代码,但是解决方案很简单:
Use GMaven to create the Plugin,创建一个抽象的基本mojo来调用LessCss编译器,并创建一些具体的实现,为不同的资源集配置基本mojo:
例如
lesscss:compile
从所有编译<resources>
到${project.build.outputDirectory}
lesscss:test-compile
编译自全部
<testResources>
到${project.build.testOutputDirectory}
lesscss:war-compile
(从全部
src/main/webapp
到${project.build.directory}/${project.build.finalName}
,爆炸的 war 目录)因此,尽管我无法帮助您进行SASS(除了您询问身份验证
或将其移植到Groovy,Java或JavaScript),我想我已经向您展示了一种可行的选择。
当然,您也可以在不使用Groovy的情况下在Java中实现Maven插件(也可以通过Rhino嵌入JavaScript),但是我认为在Groovy中它更容易。