我们有一个用Java和C#两种语言实现的应用程序。 Java应用程序使用maven来构建和发布过程,现在我需要将C#的构建集成到maven中。它是使用Visual Studio 2010实现的。有谁知道如何做到这一点?我现在可以使用的最佳插件是什么。非常感谢!
更新
到目前为止,我发现了以下4个选项。有没有人成功使用过这些?另外,我最终需要将构建/发布过程移植到Linux,并且可能使用Mono在maven中编译。非常感谢任何信息,谢谢。
NPanday http://incubator.apache.org/npanday/docs/1.2/guide/maven/project-types.html
丛 http://maven.apache.org/plugins/maven-compiler-plugin/non-javac-compilers.html http://snapshots.repository.codehaus.org/org/codehaus/plexus/plexus-compiler-csharp/1.6-SNAPSHOT/
Maven Dotnet插件 http://maven-dotnet-plugin.appspot.com/
教程: http://docs.codehaus.org/display/MAVENUSER/Using+Maven+to+manage+.NET+projects
答案 0 :(得分:8)
我在C#/ C ++堆栈中使用Maven。对于maven,一般规则“如果它可以通过命令行完成,它可以在maven中完成”持有,所以我们最终有很多.bat,.exe和powershell“粘合剂”来获得所有的碎片一起玩。
通过maven管理C#编译的最佳方法可能是创建一个以powershell脚本或.bat文件的形式提供必要机制的组件。然后,您可以将其作为maven插件发布,或者只是让所有下游组件都向“编译组件”添加依赖项。解决这个问题的语法有点棘手,但在一天结束时,你只是调用csc.exe或类似的东西。
我强烈建议坚持使用基本的maven步骤 - 进程资源,编译,测试,部署,发布 - 以及它们的目的。这将减少C#和Java代码以及构建过程之间的“过程噪音”,因为mvn compile(例如)的含义在所有组件中在概念上保持一致。您最有可能最终生成.zip文件作为工件而不是.jar文件,然后作为复制依赖步骤的一部分解压缩。
在推出时,预计会有很多来自C#家伙的混淆。 Maven对全世界99%的C#/ C ++开发人员完全不熟悉,而且它的过程与传统的MSBuild / TFSBuild / ANT方法完全不同,引起了很多混乱。
希望这有帮助!