我现在正在阅读关于Maven的文章,我在文本中看到了这个词(mojo).我大致明白这意味着什么,但我不会拒绝一个好的解释.我试图谷歌,但发现只有非maven解释.
POJO - 好的,但是MOJO?Maven旧Java对象?
我创建了一个Plexus组件来容纳我想要创建的几个Mojos的通用逻辑.我已经能够localRepository
从Mojo(和测试用例)传递信息和项目.
我想知道是否有办法从组件中获取MavenSession
或MavenExecutionRequest
从组件中传递它们作为Mojo的参数.我知道我的组件将从Maven Mojo运行.
我在这个例子中使用Maven 2.
我正在研究一个maven插件.我似乎很难搞清楚,从执行MOJO的项目中获取POM信息的好方法是什么?
例如,如果我在另一个maven项目中执行我的mojo,我想获得项目名称或其他一些参数.
还有一件事,在AbstractMojo.java类中有一个上下文MAP有私有Map pluginContext,如果我错了可能会有人纠正我,但这是假设用于在mojos之间传递信息吗?
这是我的干净安装-x结果:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building test Maven Webapp 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ test ---
[INFO] Deleting C:\Users\utopcu\workspace\test\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ test ---
[WARNING] Using platform encoding (Cp1254 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ test ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ test ---
[WARNING] Using platform encoding (Cp1254 …
Run Code Online (Sandbox Code Playgroud) 我的流星应用程序开始出现如下错误:
I20170929-15:49:50.694(3)?09-29 15:49:49.915 6294 6340 E chromium:[错误:service_manager.cc(156)]连接InterfaceProviderSpec阻止服务:来自绑定接口的content_renderer:blink :: mojom :: BudgetService公开者:content_browser
I20170929-15:49:50.915(3)?09-29 15:49:50.135 6294 6361 E chromium:[错误:BudgetService.cpp(167)]无法连接到MojoBudgetService.
我试图添加uses-permissions
到androidManifest
,删除所有科尔多瓦插件,复位流星和擦除科尔多瓦构建缓存.我仍然坚持同一点.我到处都搜索过这个MOJO的东西,但没有关于流星线应用程序的参考.
我有一个MOJO我想执行一次,并且只有在反应堆的最后一个项目的测试阶段之后运行.
使用:
if (!getProject().isExecutionRoot()) {
return ;
}
Run Code Online (Sandbox Code Playgroud)
在execute()方法的开头,意味着我的mojo被执行一次,但是在构建的最开始 - 在所有其他子模块之前.
我写了一个插件,在target/generated-sources /中生成一个文件.这个插件只有一个mojo.这个mojo用以下声明:
/**
* @goal convertsql
* @phase generate-sources
* @requiresProject
*/
public class ConverterMojo extends AbstractMojo {
Run Code Online (Sandbox Code Playgroud)
在项目中,我想使用插件,但如果我没有指定执行标记,它就不起作用:
<executions>
<execution>
<id>convert</id>
<goals><goal>convertsql</goal></goals>
<phase>generate-sources</phase>
</execution>
</executions>
Run Code Online (Sandbox Code Playgroud)
我想只配置这样的插件:
<plugin>
<groupId>com.my.plugins</groupId>
<artifactId>sqlconverter</artifactId>
<version>1.0-SNAPSHOT</version>
<configuration>
<sourceFile>src/main/resources/sql/schema_oracle.sql</sourceFile>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
是否可以为我的插件指定默认的mojo?默认目标和阶段在mojo中定义...我的意思是,当使用jar插件时,我不必告诉我想要执行的目标,在哪个阶段...它是自动的.
谢谢!
我正试图用Perloku在Heroku上运行的Mojolicious :: Lite应用程序获得催眠效果.当催眠进入其运行循环导致其崩溃时,有些事情不会发生.我想我错过了一些简单的东西,但Heroku文档没有帮助,我无法从中哄骗好的错误信息.
我从一个非常简单的应用程序开始,所以显示一些环境变量
#!/usr/bin/env perl
# today
use Mojolicious::Lite;
get '/' => sub {
my $c = shift;
my $content = "Perl: $^X Pid: $$\n\n";
foreach my $key ( keys %ENV ) {
next unless $key =~ /Mojo|toad/i;
$content .= "$key $ENV{$key}\n";
}
$c->stash( content => $content );
$c->render('index');
};
app->start;
__DATA__
@@ index.html.ep
% layout 'default';
% title 'Welcome';
<p>Welcome to the Mojolicious real-time web framework!</p>
<pre>
<%= …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将项目从使用Java 6编译转换为Java 8.我们正在使用webstart-maven-plugin,目前有一个解决方法(http://mojo.10943.n7.nabble.com/jira-MWEBSTART -269-Java-8-support-td44357.html)通过向插件定义添加以下依赖项来使用Java 8进行编译.
...
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>webstart-maven-plugin</artifactId>
<version>1.0-beta-6</version>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>webstart-pack200-impl</artifactId>
<version>1.0-beta-6</version>
</dependency>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>keytool-api-1.7</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
...
</plugin>
</plugins>
</pluginManagement>
</build>
...
Run Code Online (Sandbox Code Playgroud)
这让我超越了我最初的问题.
我现在收到以下错误.
[ERROR] Failed to execute goal org.codehaus.mojo:webstart-maven-plugin:1.0-beta-6:jnlp-inline (default) on project <redacted>: Unable to parse configuration of mojo org.codehaus.mojo:webstart-maven-plugin:1.0-beta-6:jnlp-inline for parameter pack200: Cannot find default setter in class org.codehaus.mojo.webstart.Pack200Config -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
"帮助"链接转到以下页面. https://cwiki.apache.org/confluence/display/MAVEN/PluginConfigurationException
据我所知,webstart-pack200-impl依赖项需要一些配置来定义使用哪个setter.我在网上找到的关于setter的任何信息似乎与此不同.我无法弄清楚是否有办法为依赖项设置配置.
或者我是以完全错误的方式看待这个?
提前谢谢了
我正在玩Mojolicious和websockets.我想将服务器上多个外部命令的输出发送到网页.我没有连接和接收消息的问题,但我也想将消息发送回服务器以停止外部命令,同时让其他人继续将消息发送回客户端.我还希望一旦退出就停止检查外部命令.
外部命令只是一个单行程序,每隔几秒就会发出一个整数.我有两个websockets显示单独的div
s中的数字.单击任一停止按钮发送消息,但这是我需要弄清楚如何关闭该websocket(并且只有websocket)并关闭外部命令的地方.
当我连接websocket时,我运行外部命令并设置a Mojo::IOLoop->recurring
来检查是否有输出.
当我想要停止时,我认为我应该调用Mojo::IOLoop->remove($id)
,但这似乎并没有完全删除它,我收到错误信息,如Mojo::Reactor::Poll: Timer failed: Can't call method "is_websocket" on an undefined value
.
如果我调用finish
控制器对象来关闭websocket,它似乎会停止一切.
我将整个Mojolicious :: Lite应用程序作为一个要点,但这里是我的部分
use feature qw(signatures);
no warnings qw(experimental::signatures);
## other boilerplate redacted
websocket '/find' => sub ( $c ) {
state $loop = Mojo::IOLoop->singleton;
app->log->debug( "websocket for find" );
$c->inactivity_timeout( 50 );
my $id;
$c->on( message => sub ( $ws, $message ) {
my $json = decode_json( $message );
my $command = …
Run Code Online (Sandbox Code Playgroud) mojo ×10
maven ×6
java ×5
maven-plugin ×3
maven-2 ×2
perl ×2
abbreviation ×1
android ×1
chromium ×1
components ×1
cordova ×1
eclipse ×1
heroku ×1
hypnotoad ×1
ioloop ×1
meteor ×1
mojolicious ×1
plexus ×1
pom.xml ×1
websocket ×1