我正在开发一个使用图标字体的java webapp。 我知道我可以使用IcoMoon应用程序从各个SVG文件创建一个图标字体,但我不想在每次需要添加图标时手动重新创建字体。 所以我想自动完成它,最好是作为Maven构建的一部分。有没有办法让Maven从各个SVG文件中生成图标字体?
答案 0 :(得分:0)
我不确定是否有maven插件来执行该特定功能。
我建议你使用咕噜声 http://gruntjs.com/ 它运行在节点和grunt web字体插件上 https://github.com/sapegin/grunt-webfont
如果您在src / main / resources / grunt
中创建了GruntFile.js
module.exports = function(grunt) {
//Project Configuration
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'), //Details about the package were creating
webfont: {
icons: {
src : "icons/svg/*.svg",
dest: '../META-INF/resources/font',
destCss:'../META-INF/resources/css',
options: {
font: 'myfont',
fontFilename: 'MyFont',
types:'eot,woff,ttf,svg',
engine:'node',
stylesheet:'less',
htmlDemo:false
}
}
}
});
grunt.loadNpmTasks('grunt-webfont');
grunt.registerTask('default', ['webfont']);
};
然后你可以在你的pom中运行
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<id>Grunt run</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>grunt</executable>
<workingDirectory>${basedir}/src/main/resources/grunt</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
您可能希望从maven资源中排除src / main / resources / grunt,并确保图标文件不会通过maven资源过滤,因为这会破坏它们。