|
| 1 | +<!DOCTYPE html> |
| 2 | +<html lang="zh-CN"> |
| 3 | +<head> |
| 4 | + <meta charset="UTF-8"> |
| 5 | +<meta name="viewport" content="width=device-width"> |
| 6 | +<meta name="theme-color" content="#222"><meta name="generator" content="Hexo 7.3.0"> |
| 7 | + |
| 8 | + <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png"> |
| 9 | + <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png"> |
| 10 | + <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png"> |
| 11 | + <link rel="mask-icon" href="/images/logo.svg" color="#222"> |
| 12 | + |
| 13 | +<link rel="stylesheet" href="/css/main.css"> |
| 14 | + |
| 15 | +<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Serif+Pro:300,300italic,400,400italic,700,700italic%7CLato:300,300italic,400,400italic,700,700italic%7CIBM+Plex+Mono+Light:300,300italic,400,400italic,700,700italic&display=swap&subset=latin,latin-ext"> |
| 16 | + |
| 17 | +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" integrity="sha256-5eIC48iZUHmSlSUz9XtjRyK2mzQkHScZY1WdMaoz74E=" crossorigin="anonymous"> |
| 18 | +<link href="https://fonts.googleapis.com/css?family=Noto+Serif+SC&display=swap" rel="stylesheet"> |
| 19 | + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.1.1/animate.min.css" integrity="sha256-PR7ttpcvz8qrF57fur/yAx1qXMFJeJFiA6pSzWi0OIE=" crossorigin="anonymous"> |
| 20 | + |
| 21 | +<script class="next-config" data-name="main" type="application/json">{"hostname":"simuleite.github.io","root":"/","images":"/images","scheme":"Muse","darkmode":false,"version":"8.21.0","exturl":false,"sidebar":{"position":"left","width_expanded":320,"width_dual_column":240,"display":"post","padding":18,"offset":12},"hljswrap":true,"copycode":{"enable":false,"style":null},"fold":{"enable":false,"height":500},"bookmark":{"enable":false,"color":"#222","save":"auto"},"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"stickytabs":false,"motion":{"enable":true,"async":false,"transition":{"menu_item":"fadeInDown","post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"i18n":{"placeholder":"搜索...","empty":"没有找到任何搜索结果:${query}","hits_time":"找到 ${hits} 个搜索结果(用时 ${time} 毫秒)","hits":"找到 ${hits} 个搜索结果"},"path":"/search.xml","localsearch":{"enable":true,"top_n_per_article":1,"unescape":false,"preload":false}}</script><script src="/js/config.js"></script> |
| 22 | + |
| 23 | + <meta name="description" content="微服务 非单体项目,可以用下面的脚本启动微服务。 #!/bin/bash# 获取用户输入的服务名称SERVICE_NAME=$1# 检查是否输入参数if [ -z "$SERVICE_NAME" ]; then echo "Usage: ./run.sh <servicename|all>" exit 1fi# 定义运行单个服务的函数run"> |
| 24 | +<meta property="og:type" content="article"> |
| 25 | +<meta property="og:title" content="Maven使用"> |
| 26 | +<meta property="og:url" content="http://simuleite.github.io/ComputerScience/%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/Maven%E4%BD%BF%E7%94%A8/index.html"> |
| 27 | +<meta property="og:site_name" content="SMULET's BLOG"> |
| 28 | +<meta property="og:description" content="微服务 非单体项目,可以用下面的脚本启动微服务。 #!/bin/bash# 获取用户输入的服务名称SERVICE_NAME=$1# 检查是否输入参数if [ -z "$SERVICE_NAME" ]; then echo "Usage: ./run.sh <servicename|all>" exit 1fi# 定义运行单个服务的函数run"> |
| 29 | +<meta property="og:locale" content="zh_CN"> |
| 30 | +<meta property="article:published_time" content="2025-01-15T16:00:00.000Z"> |
| 31 | +<meta property="article:modified_time" content="2025-01-16T09:57:31.742Z"> |
| 32 | +<meta property="article:author" content="SIMULEITE"> |
| 33 | +<meta property="article:tag" content="基本操作"> |
| 34 | +<meta name="twitter:card" content="summary"> |
| 35 | + |
| 36 | + |
| 37 | +<link rel="canonical" href="http://simuleite.github.io/ComputerScience/%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/Maven%E4%BD%BF%E7%94%A8/"> |
| 38 | + |
| 39 | + |
| 40 | + |
| 41 | +<script class="next-config" data-name="page" type="application/json">{"sidebar":"","isHome":false,"isPost":true,"lang":"zh-CN","comments":true,"permalink":"http://simuleite.github.io/ComputerScience/%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/Maven%E4%BD%BF%E7%94%A8/","path":"ComputerScience/基本操作/Maven使用/","title":"Maven使用"}</script> |
| 42 | + |
| 43 | +<script class="next-config" data-name="calendar" type="application/json">""</script> |
| 44 | +<title>Maven使用 | SMULET's BLOG</title> |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | + |
| 53 | + |
| 54 | + <noscript> |
| 55 | + <link rel="stylesheet" href="/css/noscript.css"> |
| 56 | + </noscript> |
| 57 | +<link rel="alternate" href="/atom.xml" title="SMULET's BLOG" type="application/atom+xml"> |
| 58 | +</head> |
| 59 | + |
| 60 | +<body itemscope itemtype="http://schema.org/WebPage" class="use-motion"> |
| 61 | + <div class="headband"></div> |
| 62 | + |
| 63 | + <main class="main"> |
| 64 | + <div class="column"> |
| 65 | + <header class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="site-brand-container"> |
| 66 | + <div class="site-nav-toggle"> |
| 67 | + <div class="toggle" aria-label="切换导航栏" role="button"> |
| 68 | + <span class="toggle-line"></span> |
| 69 | + <span class="toggle-line"></span> |
| 70 | + <span class="toggle-line"></span> |
| 71 | + </div> |
| 72 | + </div> |
| 73 | + |
| 74 | + <div class="site-meta"> |
| 75 | + |
| 76 | + <a href="/" class="brand" rel="start"> |
| 77 | + <i class="logo-line"></i> |
| 78 | + <p class="site-title">SMULET's BLOG</p> |
| 79 | + <i class="logo-line"></i> |
| 80 | + </a> |
| 81 | + </div> |
| 82 | + |
| 83 | + <div class="site-nav-right"> |
| 84 | + <div class="toggle popup-trigger" aria-label="搜索" role="button"> |
| 85 | + <i class="fa fa-search fa-fw fa-lg"></i> |
| 86 | + </div> |
| 87 | + </div> |
| 88 | +</div> |
| 89 | + |
| 90 | + |
| 91 | + |
| 92 | +<nav class="site-nav"> |
| 93 | + <ul class="main-menu menu"><li class="menu-item menu-item-技术链"><a href="/links/" rel="section"><i class="fa fa-link fa-fw"></i>技术链</a></li><li class="menu-item menu-item-tags"><a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签</a></li><li class="menu-item menu-item-知识库"><a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>知识库</a></li><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a></li> |
| 94 | + <li class="menu-item menu-item-search"> |
| 95 | + <a role="button" class="popup-trigger"><i class="fa fa-search fa-fw"></i>搜索 |
| 96 | + </a> |
| 97 | + </li> |
| 98 | + </ul> |
| 99 | +</nav> |
| 100 | + |
| 101 | + |
| 102 | + |
| 103 | + <div class="search-pop-overlay"> |
| 104 | + <div class="popup search-popup"> |
| 105 | + <div class="search-header"> |
| 106 | + <span class="search-icon"> |
| 107 | + <i class="fa fa-search"></i> |
| 108 | + </span> |
| 109 | + <div class="search-input-container"> |
| 110 | + <input autocomplete="off" autocapitalize="off" maxlength="80" |
| 111 | + placeholder="搜索..." spellcheck="false" |
| 112 | + type="search" class="search-input"> |
| 113 | + </div> |
| 114 | + <span class="popup-btn-close" role="button"> |
| 115 | + <i class="fa fa-times-circle"></i> |
| 116 | + </span> |
| 117 | + </div> |
| 118 | + <div class="search-result-container"> |
| 119 | + <div class="search-result-icon"> |
| 120 | + <i class="fa fa-spinner fa-pulse fa-5x"></i> |
| 121 | + </div> |
| 122 | + </div> |
| 123 | + </div> |
| 124 | + </div> |
| 125 | + |
| 126 | +</header> |
| 127 | + |
| 128 | + |
| 129 | + <aside class="sidebar"> |
| 130 | + |
| 131 | + <div class="sidebar-inner sidebar-nav-active sidebar-toc-active"> |
| 132 | + <ul class="sidebar-nav"> |
| 133 | + <li class="sidebar-nav-toc"> |
| 134 | + 文章目录 |
| 135 | + </li> |
| 136 | + <li class="sidebar-nav-overview"> |
| 137 | + 站点概览 |
| 138 | + </li> |
| 139 | + </ul> |
| 140 | + |
| 141 | + <div class="sidebar-panel-container"> |
| 142 | + <!--noindex--> |
| 143 | + <div class="post-toc-wrap sidebar-panel"> |
| 144 | + <div class="post-toc animated"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#%E5%BE%AE%E6%9C%8D%E5%8A%A1"><span class="nav-text"> 微服务</span></a></li></ol></div> |
| 145 | + </div> |
| 146 | + <!--/noindex--> |
| 147 | + |
| 148 | + <div class="site-overview-wrap sidebar-panel"> |
| 149 | + <div class="site-author animated" itemprop="author" itemscope itemtype="http://schema.org/Person"> |
| 150 | + <p class="site-author-name" itemprop="name">SIMULEITE</p> |
| 151 | + <div class="site-description" itemprop="description"></div> |
| 152 | +</div> |
| 153 | +<div class="site-state-wrap animated"> |
| 154 | + <nav class="site-state"> |
| 155 | + <div class="site-state-item site-state-posts"> |
| 156 | + <a href="/archives/"> |
| 157 | + <span class="site-state-item-count">59</span> |
| 158 | + <span class="site-state-item-name">日志</span> |
| 159 | + </a> |
| 160 | + </div> |
| 161 | + <div class="site-state-item site-state-tags"> |
| 162 | + <a href="/tags/"> |
| 163 | + <span class="site-state-item-count">8</span> |
| 164 | + <span class="site-state-item-name">标签</span></a> |
| 165 | + </div> |
| 166 | + </nav> |
| 167 | +</div> |
| 168 | + |
| 169 | + </div> |
| 170 | + </div> |
| 171 | + </div> |
| 172 | + |
| 173 | + |
| 174 | + </aside> |
| 175 | + |
| 176 | + |
| 177 | + </div> |
| 178 | + |
| 179 | + <div class="main-inner post posts-expand"> |
| 180 | + |
| 181 | + |
| 182 | + |
| 183 | + |
| 184 | + |
| 185 | +<div class="post-block"> |
| 186 | + |
| 187 | + |
| 188 | + |
| 189 | + <article itemscope itemtype="http://schema.org/Article" class="post-content" lang="zh-CN"> |
| 190 | + <link itemprop="mainEntityOfPage" href="http://simuleite.github.io/ComputerScience/%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/Maven%E4%BD%BF%E7%94%A8/"> |
| 191 | + |
| 192 | + <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"> |
| 193 | + <meta itemprop="image" content="/images/avatar.gif"> |
| 194 | + <meta itemprop="name" content="SIMULEITE"> |
| 195 | + </span> |
| 196 | + |
| 197 | + <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"> |
| 198 | + <meta itemprop="name" content="SMULET's BLOG"> |
| 199 | + <meta itemprop="description" content=""> |
| 200 | + </span> |
| 201 | + |
| 202 | + <span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork"> |
| 203 | + <meta itemprop="name" content="Maven使用 | SMULET's BLOG"> |
| 204 | + <meta itemprop="description" content=""> |
| 205 | + </span> |
| 206 | + <header class="post-header"> |
| 207 | + <h1 class="post-title" itemprop="name headline"> |
| 208 | + Maven使用 |
| 209 | + </h1> |
| 210 | + |
| 211 | + <div class="post-meta-container"> |
| 212 | + <div class="post-meta"> |
| 213 | + <span class="post-meta-item"> |
| 214 | + <span class="post-meta-item-icon"> |
| 215 | + <i class="far fa-calendar"></i> |
| 216 | + </span> |
| 217 | + <span class="post-meta-item-text">发表于</span> |
| 218 | + |
| 219 | + |
| 220 | + <time title="创建时间:2025-01-16 00:00:00 / 修改时间:17:57:31" itemprop="dateCreated datePublished" datetime="2025-01-16T00:00:00+08:00">2025-01-16</time> |
| 221 | + </span> |
| 222 | + |
| 223 | + |
| 224 | +</div> |
| 225 | + |
| 226 | + </div> |
| 227 | + </header> |
| 228 | + |
| 229 | + |
| 230 | + |
| 231 | + |
| 232 | + <div class="post-body" itemprop="articleBody"><h1 id="微服务"><a class="markdownIt-Anchor" href="#微服务"></a> 微服务</h1> |
| 233 | +<p>非单体项目,可以用下面的脚本启动微服务。</p> |
| 234 | +<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line"><span class="meta prompt_">#</span><span class="language-bash">!/bin/bash</span></span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">获取用户输入的服务名称</span></span><br><span class="line">SERVICE_NAME=$1</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">检查是否输入参数</span></span><br><span class="line">if [ -z "$SERVICE_NAME" ]; then</span><br><span class="line"> echo "Usage: ./run.sh <servicename|all>"</span><br><span class="line"> exit 1</span><br><span class="line">fi</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">定义运行单个服务的函数</span></span><br><span class="line">run_service() {</span><br><span class="line"> local service=$1</span><br><span class="line"> echo "Building and running $service..."</span><br><span class="line"> mvn clean install -pl $service -am</span><br><span class="line"> mvn spring-boot:run -pl $service</span><br><span class="line">}</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">如果输入 <span class="string">"all"</span>,运行所有服务</span></span><br><span class="line">if [ "$SERVICE_NAME" == "all" ]; then</span><br><span class="line"> echo "Building and running all services..."</span><br><span class="line"> mvn clean install</span><br><span class="line"><span class="meta prompt_"> # </span><span class="language-bash">假设所有 Spring Boot 模块都在根目录下</span></span><br><span class="line"> for module in $(mvn help:evaluate -Dexpression=project.modules -q -DforceStdout | sed -e 's/<[^>]*>//g' -e 's/\s*//g' | tr ',' '\n'); do</span><br><span class="line"> echo "Running $module..."</span><br><span class="line"> mvn spring-boot:run -pl $module &</span><br><span class="line"> done</span><br><span class="line">else</span><br><span class="line"><span class="meta prompt_"> # </span><span class="language-bash">运行指定的单个服务</span></span><br><span class="line"> run_service $SERVICE_NAME</span><br><span class="line">fi</span><br></pre></td></tr></table></figure> |
| 235 | + </div> |
| 236 | + |
| 237 | + |
| 238 | + |
| 239 | + |
| 240 | + |
| 241 | + <footer class="post-footer"> |
| 242 | + <div class="post-tags"> |
| 243 | + <a href="/tags/%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/" rel="tag"># 基本操作</a> |
| 244 | + </div> |
| 245 | + |
| 246 | + |
| 247 | + |
| 248 | + <div class="post-nav"> |
| 249 | + <div class="post-nav-item"> |
| 250 | + <a href="/ComputerScience/%E7%AC%94%E8%AE%B0/Spring/SpringAlibaba%E7%AC%94%E8%AE%B0/" rel="prev" title="SpringAlibaba笔记"> |
| 251 | + <i class="fa fa-angle-left"></i> SpringAlibaba笔记 |
| 252 | + </a> |
| 253 | + </div> |
| 254 | + <div class="post-nav-item"> |
| 255 | + <a href="/ComputerScience/%E7%AC%94%E8%AE%B0/MarsCode%20%E9%9A%BE%E9%A2%98%E8%AE%B0%E5%BD%95/" rel="next" title=""> |
| 256 | + <i class="fa fa-angle-right"></i> |
| 257 | + </a> |
| 258 | + </div> |
| 259 | + </div> |
| 260 | + </footer> |
| 261 | + </article> |
| 262 | +</div> |
| 263 | + |
| 264 | + |
| 265 | + |
| 266 | + |
| 267 | + |
| 268 | + |
| 269 | +</div> |
| 270 | + </main> |
| 271 | + |
| 272 | + <footer class="footer"> |
| 273 | + <div class="footer-inner"> |
| 274 | + |
| 275 | + <div class="copyright"> |
| 276 | + © |
| 277 | + <span itemprop="copyrightYear">2025</span> |
| 278 | + <span class="with-love"> |
| 279 | + <i class="fa-solid fa-pen-nib"></i> |
| 280 | + </span> |
| 281 | + <span class="author" itemprop="copyrightHolder">SIMULEITE</span> |
| 282 | + </div> |
| 283 | + |
| 284 | + </div> |
| 285 | + </footer> |
| 286 | + |
| 287 | + |
| 288 | + <div class="toggle sidebar-toggle" role="button"> |
| 289 | + <span class="toggle-line"></span> |
| 290 | + <span class="toggle-line"></span> |
| 291 | + <span class="toggle-line"></span> |
| 292 | + </div> |
| 293 | + <div class="sidebar-dimmer"></div> |
| 294 | + <div class="back-to-top" role="button" aria-label="返回顶部"> |
| 295 | + <i class="fa fa-arrow-up fa-lg"></i> |
| 296 | + <span>0%</span> |
| 297 | + </div> |
| 298 | + |
| 299 | +<noscript> |
| 300 | + <div class="noscript-warning">Theme NexT works best with JavaScript enabled</div> |
| 301 | +</noscript> |
| 302 | + |
| 303 | + |
| 304 | + |
| 305 | + <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js" integrity="sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=" crossorigin="anonymous"></script> |
| 306 | +<script src="/js/comments.js"></script><script src="/js/utils.js"></script><script src="/js/motion.js"></script><script src="/js/sidebar.js"></script><script src="/js/next-boot.js"></script> |
| 307 | + |
| 308 | + <script src="https://cdnjs.cloudflare.com/ajax/libs/hexo-generator-searchdb/1.4.1/search.js" integrity="sha256-1kfA5uHPf65M5cphT2dvymhkuyHPQp5A53EGZOnOLmc=" crossorigin="anonymous"></script> |
| 309 | +<script src="/js/third-party/search/local-search.js"></script> |
| 310 | + |
| 311 | + |
| 312 | + |
| 313 | + |
| 314 | + |
| 315 | + |
| 316 | + |
| 317 | + |
| 318 | + |
| 319 | + |
| 320 | + |
| 321 | + |
| 322 | + |
| 323 | +</body> |
| 324 | +</html> |
0 commit comments